为了账号安全,请及时绑定邮箱和手机立即绑定

使用jQuery以特定时间间隔显示和隐藏div

使用jQuery以特定时间间隔显示和隐藏div

炎炎设计 2019-09-02 15:18:39
我想以特定间隔(10秒)显示div并显示下一个div并继续并重复相同的操作。 **序列 :**在第10秒显示div1,隐藏其他div, 5秒后间隔显示div 2并隐藏其他div,5秒后间隔显示div 3并隐藏其他div,并每10秒重复一次。代码遵循:<div id='div1' style="display:none;">   <!-- content --></div><div id='div2' style="display:none;">   <!-- content --></div><div id='div3' style="display:none;">   <!-- content --></div>
查看完整描述

3 回答

?
慕尼黑的夜晚无繁华

TA贡献1864条经验 获得超6个赞

每10秒循环一次div。


$(function () {


    var counter = 0,

        divs = $('#div1, #div2, #div3');


    function showDiv () {

        divs.hide() // hide all divs

            .filter(function (index) { return index == counter % 3; }) // figure out correct div to show

            .show('fast'); // and show it


        counter++;

    }; // function to loop through divs and show correct div


    showDiv(); // show first div    


    setInterval(function () {

        showDiv(); // show next div

    }, 10 * 1000); // do this every 10 seconds    


});


查看完整回答
反对 回复 2019-09-02
?
慕后森

TA贡献1802条经验 获得超5个赞

这是我提出的jQuery插件:


$.fn.cycle = function(timeout){

    var $all_elem = $(this)


    show_cycle_elem = function(index){

        if(index == $all_elem.length) return; //you can make it start-over, if you want

        $all_elem.hide().eq(index).fadeIn()

        setTimeout(function(){show_cycle_elem(++index)}, timeout);

    }

    show_cycle_elem(0);

}

您需要为所有要循环的div设置一个公共类名,使用它如下:


$("div.cycleme").cycle(5000)


查看完整回答
反对 回复 2019-09-02
  • 3 回答
  • 0 关注
  • 886 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信