jquery:fadeIn()和out函数在IE中的工作方式不同
HTML JS 目标:毕竟.bannerloop div是动画的,display.bannerlast div 在除IE之外的所有浏览器中都可以正常工作-它会淡出第一个div,然后停止。试试这个jquery:fadeIn()和out函数在IE中的工作方式不同,jquery,fade,Jquery,Fade,HTML JS 目标:毕竟.bannerloop div是动画的,display.bannerlast div 在除IE之外的所有浏览器中都可以正常工作-它会淡出第一个div,然后停止。试试这个 var divs = $('.banner').children('.bannerloop'); var divscnt = divs.length; $(divs).delay(2000).each(function(index) { $(this).delay(3000*inde
var divs = $('.banner').children('.bannerloop');
var divscnt = divs.length;
$(divs).delay(2000).each(function(index) {
$(this).delay(3000*index).fadeIn(1500).fadeOut(1500, function() {
if (index = spanscnt - 1) {
$('.bannerlast').delay(3000*index).fadeIn(1500);
}
});
});
var指数=0;
函数fadeMe()
{
$('div.banner div.bannerloop:eq('+index+')).delay(3000*index).fadeIn(1500).fadeOut(1500,函数(){
索引++;
如果(索引<$('div.banner div.bannerloop')。长度){
fadeMe();
}
否则{
$('div.banner div.bannerlast').delay(3000*索引).fadeIn(1500);
}
});
}
fadeMe();
我不太喜欢jQuery的delay()函数,但我试着复制您所拥有的。在所有当前浏览器中均可正常工作。出现编码错误
if(index=spanscnt-1){should是if(index=divscnt-1){
if(index=spanscnt-1){
应该是if(index=divscnt-1){
divs
是一个JQuery对象,不需要再次用$(divs)包围它
。在juqery对象中添加$
前缀,divs
=>$divs
是一种很好的做法,这样您就不会感到困惑。@Zoltan:这真是太愚蠢了。谢谢!!!在IE中对我也很好,但在同一代码中还有另一个错误。如果(index==divscnt-1)(注意double=)这应该会停止它在所有浏览器中的工作!$(divs).delay(2000)。每个(…
似乎都是delay()
的冗余使用,因为它也在each()
循环中设置;$(this).delay(3000*索引).
.none {
display: none;
}
var divs = $('.banner').children('.bannerloop');
var divscnt = divs.length;
$(divs).delay(2000).each(function(index) {
$(this).delay(3000*index).fadeIn(1500).fadeOut(1500, function() {
if (index = spanscnt - 1) {
$('.bannerlast').delay(3000*index).fadeIn(1500);
}
});
});
var index = 0;
function fadeMe()
{
$('div.banner div.bannerloop:eq('+index+')').delay(3000*index).fadeIn(1500).fadeOut(1500,function(){
index++;
if(index < $('div.banner div.bannerloop').length) {
fadeMe();
}
else {
$('div.banner div.bannerlast').delay(3000*index).fadeIn(1500);
}
});
}
fadeMe();