javascript - 鼠标悬停时 jQuery 自动滚动暂停

标签 javascript jquery

我需要有关此自动滚动的帮助。将鼠标悬停在它上面时,请帮助我暂停滚动。谢谢。

/*scroll view*/
$('.scroll').wrap('<div class="scroll-group"></div>');
$('.scroll').css({
  'overflow': 'hidden',
  height: 'auto'
});
$('.scroll-group').append($('.scroll').clone());
$('.scroll-group').wrap('<div class="scroll-wrap"></div>');
$('.scroll-wrap').css({
  'overflow': 'hidden'
});

/*animate*/
var targetY = $('.scroll').eq(0).outerHeight();

var scroll = function(resetY) {

  //animate 기본 동작 변형 "swing" -> "linear"
  $('.scroll-group').animate({
    top: targetY * -1 + 'px'
  }, 6000, "linear", function() {
    $('.scroll-group').css({
      top: 0
    });
    scroll();
  });
}

scroll();
.scroll-wrap,
.scroll {
  width: 100px;
  height: 102px;
  overflow-y: scroll;
  margin: 0;
  position: relative
}

.scroll-group {
  position: absolute;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<p class="scroll">content-1<br />content-2<br />content-3<br />content-4<br />content-5<br />content-6<br />content-7<br />content-8<br />content-9<br />content-10<br /></p>

最佳答案

请使用这个fiddle .

我添加了hovermouseleave 函数来分别pauseresume 滚动。

/*scroll view*/
$('.scroll').wrap('<div class="scroll-group"></div>');
$('.scroll').css({'overflow':'hidden',height:'auto'});
$('.scroll-group').append($('.scroll').clone());
$('.scroll-group').wrap('<div class="scroll-wrap"></div>');
$('.scroll-wrap').css({'overflow':'hidden'});

/*animate*/
var targetY = $('.scroll').eq(0).outerHeight();

var scroll = function(resetY){
  
 //animate 기본 동작 변형 "swing" -> "linear"
     $('.scroll-group').animate({top:targetY*-1+'px'},6000,"linear", function(){
          $('.scroll-group').css({top:0});
          scroll();
     });
     
     $('.scroll-group').hover(function() { //mouseenter
        $('.scroll-group').stop(true, false);
    });
    $(".scroll-group").mouseleave(function(){
        scroll();
    });
}

 scroll();
.scroll-wrap,.scroll {width:100px; height:102px;overflow-y:scroll; margin:0 ; position:relative }
.scroll-group {position:absolute;}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<p class="scroll">content-1<br />content-2<br />content-3<br />content-4<br />content-5<br />content-6<br />content-7<br />content-8<br />content-9<br />content-10<br /></p>

关于javascript - 鼠标悬停时 jQuery 自动滚动暂停,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49530180/

相关文章:

jQuery UI Widget Factory 获取当前小部件的上下文

javascript - 在 JavaScript 中处理大型网格数据集

jquery - jqGrid 4.8.2 columnChooser完成后网格宽度发生变化

javascript - javascript中的 header 位置

jquery - 使用 jquery 更改点击时的 css 样式

javascript - 删除 div 内可点击按钮的锚定效果

javascript - 如何删除某个div之后的div中的所有元素

javascript - React Native 元素列表项开关不起作用

Chrome 中的 Javascript 与 Firefox Mozilla 不兼容

javascript - 长数组的小数据点呈现为锯齿线