制作轮播图遇到的小问题

发布于 2022-09-03 09:28:47 字数 985 浏览 24 评论 0

<div class="datu">
    <img src="images/b0.jpg">
    <div class="yuan">
       <div>1</div><div>2</div><div>3</div><div>4</div><div>5</div><div>6</div><div>7</div><div>8</div><div>9</div>
  </div>
</div>
上面的9个div是可以手动换图的按钮

var datu=setInterval(function(){
         a++;
         var b=a%9
         $('.datu img').attr('src','images/b'+b+'.jpg')
      $('.yuan div').eq(b).css('background-color','#ba2628').siblings('div').css('background-color','rgba(0,0,0,0.7)')
   },1000)
   $('.yuan div').hover(function(){
       var y=$(this).index()
      $('.datu img').attr('src','images/b'+y+'.jpg')
      $('.yuan div').eq(y).css('background-color','#ba2628').siblings('div').css('background-color','rgba(0,0,0,0.7)')
      clearInterval(datu),function(){ 
      }
   })
   
   现在的问题是一旦手动后就不会自动了
   怎样实现手动换图移出鼠标后,setInteval继续执行?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

左岸枫 2022-09-10 09:28:47

//加一个开关变量 go,这个控制是否执行自动跳转,hover时不让跳转它为false,不hover了继续跳转改为true;


var a = 0;
var datu=setInterval(auto,4000);
var go = true;

$('.yuan div').hover(function(){
    var y=$(this).index()
    $('.datu img').attr('src','assets/images/b'+y+'.jpg')
    $('.yuan div').eq(y).css('background-color','#ba2628').siblings('div').css('background-color','rgba(0,0,0,0.7)')
    go=false},function(){
            a=$(this).index();
            go=true;
    }
)
function auto(){
    if(go)
    {
        a++;
        var b=a%5
        $('.datu img').attr('src','assets/images/b'+b+'.jpg')
        $('.yuan div').eq(b).css('background-color','#ba2628').siblings('div').css('background-color','rgba(0,0,0,0.7)')
    }

}
拥抱我好吗 2022-09-10 09:28:47

定义一个autoPlay()方法,当鼠标mouseout时,执行该方法就好了,我写了一个完整的banner轮播图,可参看:http://mangohouse.cn/pub_bann...

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文