专题1234导航

setTimeout做轮播图的问题

来源:互联网
发表时间:2017/4/19 20:03:42
责任编辑:李志喜
字体:

为了帮助网友解决“setTimeout做轮播图的问题”相关的问题,学网通过互联网对“setTimeout做轮播图的问题”相关的解决方案进行了整理,用户详细问题包括:


<script type="text/javascript" src='jquery.js'></script>
<script>
    $(function(){
    function slide() {
    $('.slide_qc>ul').animate({
    left:-980 + 'px'
    })
    setTimeout(slide,2000);
    }
    setTimeout(slide,2000)
    })
</script>

这 种写法 只执行一次 就是执行到第二张就不再继续了

<script type="text/javascript" src='jquery.js'></script>
<script>
    $(function(){
    function slide() {
    $('.slide_qc>ul').animate({
    left:-980 + 'px'
    })
    setTimeout(slide,2000);
    }
    slide();
    })
</script>

这种写法在打开页面的一瞬间执行  也是只执行到第二次  然后停止

之前一直用setInterval 昨天发现setInterval某些情况会有bug 于是用setTimeout重写 可是一直有问题  网上找的东西大多执行不出我想要的效果点击图片看大图学网 www.xue163.com
,具体解决方案如下:

解决方案1:
光一个left-980怎么轮播?

解决方案2:

引用 1 楼 apollokk 的回复:
光一个left-980怎么轮播?
我还没有往下写  现在就是无法实现用setTimeout每隔一段时间就执行一次代码的效果

解决方案3:


$(function(){
var _index=0;
    function slide() {
    _index++;
        $('.slide_qc>ul').animate({
            left:-980*_index + 'px'
        })
        setTimeout(slide,2000);
    }
    slide();
})


不是没有执行, 而是到 -980这个位置 你后续还是设置到这个位置,怎么会动?

解决方案4:

你的问题不是setTimeout()的事,你可以在函数中加个console.log();看看是不是每2秒输出一次。

你问题出在animate()上
  left: -980 + 'px'是元素固定移动到-980的位置,第二次执行时元素已经在-980的位置了,当然就不再移动了。
要想每次都向左移动980的距离应该是
  left: "-=" + 980 + 'px'

解决方案5:
谢谢各位       点击图片看大图

www.xue163.com true http://www.xue163.com/588880/39215/392157794.html report 3729 setTimeout做轮播图的问题:解决方案1:光一个left-980怎么轮播?解决方案2:引用 1 楼 apollokk 的回复:光一个left-980怎么轮播?我还没有往下写  现在就是无法实现用setTimeout每隔一段时间就执行一次代码的效果解决方案3:$(function(){var _index=0;    function slide() {    _ind...
最近关注
首页推荐
热门图片
最新添加资讯
24小时热门资讯
精彩资讯
精彩推荐
热点推荐
真视界
精彩图片
社区精粹
关于本站 | 广告服务 | 手机版 | 商务合作 | 免责申明 | 招聘信息 | 联系我们
Copyright © 2004-2016 Xue163.com All Rights Reserved. 学网 版权所有
京ICP备10044368号-1 京公网安备11010802011102号