永发信息网

jquery中如何实现暂停几秒再往下执行?

答案:3  悬赏:70  手机版
解决时间 2021-03-23 00:02
  • 提问者网友:心如荒岛囚我终老
  • 2021-03-22 14:17
var imgwidth=parseInt($('div.lunbo img').width());
var imgheight=parseInt($('div.lunbo img').height());
var imgnum=parseInt($('div.lunbo img').length);
var spanposiwidth=parseInt(imgwidth*0.98);
for(var i=0;i<imgnum;i++){
$('div.lunbo div.fcon:eq('+i+')').css({'position':'absolute','top':'+(imgheight*i)+'+'px','left':'0px'});
}
$('div.lunbo span').css({'position':'relative','bottom':'40px','right':spanposiwidth+'px'});

for(var i=0;i<imgnum;i++;){ //就是这个for有问题!!
$('div.lunbo .fcon:eq('+i+')').show();
setTimeout('imghide',3000);
var imghide=$('div.lunbo .fcon:eq('+i+')').hide();
}
想实现图片轮播的效果。找了一个插件也很好,但是代码太复杂看不太懂,还是自己写一个吧。
已经将所有图片先隐藏了并且很智能的叠到一起,现在要一个一个显示出来
这是我瞎写的,不对呀!要怎么实现呢?要代码越少越好

我把for改成这样了
for(var i=0;i<imgnum;i++){
$('div.lunbo .fcon:eq('+i+')').show();
setTimeout ('$(this).hide()',3000);
}
并没有一个一个播放,当show()时一打开网页就看到最后一张图片,而show(3000)时看到的是在三秒里四张图不同层里一起显示到最后只显示第四张图。而setTimeout ('$(this).hide()',3000);并没有体现出来
最佳答案
  • 五星知识达人网友:街头电车
  • 2021-03-22 15:09
JQ明明有延迟的方法delay
$('#foo').slideUp(300).delay(800).fadeIn(400);
全部回答
  • 1楼网友:长青诗
  • 2021-03-22 16:06
看你怎样经营喽!你哪里的?也许我们能合作 qq 1354003357
  • 2楼网友:舊物识亽
  • 2021-03-22 15:40
你for循环里 的imghide 没定义吧。导致你for循环里有问题
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯