Ну, простыми словами:
Вы пытаетесь получить доступ к объекту, который не создан или в настоящее время не находится в памяти.
Итак, как это решить:
if (i == null) {
// Handle this
}
Поиск по имени означает, что некоторые фреймворки позволяют использовать FIndObjects с помощью строк, а код может выглядеть так: FindObject («ObjectName»);
Сначала вы должны скрыть это.
$(this).hide().load("tx.php").fadeIn('500');
обработчик вызова при загрузке
$(document).ready(function(){
setInterval(function(){
$('.live-stream ul').each(function(){
$(this).load('tx.php', function(){
$('li').fadeIn("normal");
});
});
}, 1000);
});
$ (this) показывается перед запуском .fadeIn ("1000"). Сначала вам нужно скрыть выбранный элемент, загрузить содержимое, а затем fadeIn, например:
$(document).ready(function(){
setInterval(function(){
$('.live-stream ul').each(function(){
$(this).hide().load('tx.php').fadeIn("1000");
});
}, 1000);
});
Или скрыть элементы с помощью css:
display: none;
EDIT: Должно быть что-то вроде этого, но оно не проверено ...
$(document).ready(function(){
setInterval(function(){
var streamListElement = $(document.createElement("li")).load('tx.php').hide();
$('.live-stream ul').append( streamListElement ).find(":hidden").fadeIn("3000");
}, 1000);
});
вы пробовали этот?
$(document).ready(function(){
setInterval(function(){
$('.live-stream ul').each(function(){
$(this).load('tx.php').fadeIn('1000');
});
}, 1000);
});
hmmm, а как насчет этого
$(function(){
//Fade in all objects.
var wrapper = $("live-stream ul");
$(wrapper).hide();
function fadeInAll(elem, fadeInTime, timeBetween)
{
for(i=0; i<elem.size(); i++)
{
$(elem[i]).delay(i*(timeBetween+fadeInTime)).fadeIn(fadeInTime);
}
}
fadeInAll($(wrapper), 1000, 500);
});
Не думаю, что вы можете использовать анимацию непосредственно на load (). Но вот трюк, который я использовал:
$("#id").animate({opacity: 0},1000);
$("#id").load(url);
$("#id").animate({opacity: 1},1000);
Элемент не отображается, просто становится прозрачным. Это выглядит точно так же.
Использовать обратный вызов, но скрывать li с помощью CSS display: none;
fadeIn должен работать после этого.
$(document).ready(function(){
setInterval(function(){
$('.live-stream ul').each(function(){
$(this).load('tx.php', function(){
$(this).find('li').fadeIn();
});
});
}, 1000);
});
что если вы вызываете метод fadeIn
$(this).load('tx.php').fadeIn(400);
Попробуйте что-то вроде этого:
$(document).ready(function(){
setInterval(function(){
$('.live-stream ul').each(function(){
$(this).hide().load('tx.php').fadeIn('500');
});
}, 1000);
});
Обратите внимание на использование fadeIn()
и hide()
... Вам не нужно скрывать, если у вас уже есть <li>
.