【问题标题】:how to know when a div scroll horizontally has reached an end如何知道 div 水平滚动何时结束
【发布时间】:2018-05-12 02:47:59
【问题描述】:

我真正想要实现的是检测 div 何时滚动到末尾,从而将其返回到 div 的开头。当 div 自动滚动时,我想将 left 设置为 0,因此返回到 div 的开头,当 div 由 prev 和 next 按钮控制时,当它到达左边时停止,当它到达时停止右端。但是我所能实现的一小段代码就是左右滚动它,但是当它到达终点时可以停止它,任何关于如何做到这一点的帮助将不胜感激,谢谢

 var sliderWidth = $(".dialyDealSlider").width();


var ddslider = $(".dialyDealSlider");
 var BoxWidth = $(".dialyDealBox").width();
 $(".ddslider-prev").click(function() {
   //alert(BoxWidth);
   var leftPos = ddslider.scrollLeft();
   var newWidth = leftPos - BoxWidth;
   alert(BoxWidth);
   ddslider.animate({
     left: "-=" + newWidth + "px"
   }, 800);
 });

 $(".ddslider-next").click(function() {
   //alert('next');
   var leftPos = ddslider.scrollLeft();
   var newWidth = leftPos + BoxWidth;
   alert(newWidth);
   ddslider.animate({
     left: "-=" + newWidth + "px"
   }, 800);

 });


 dailyDeal();

 function dailyDeal(finalWidth) {
   var timer;
   clearTimeout(timer);
   scrollWidth = $(".dialyDealBox").width();
   leftPosi = $(".dialyDealSlider").scrollLeft();
   scrollWidth = leftPosi + scrollWidth;
   $(".dialyDealSlider").animate({
     left: "-=" + scrollWidth + "px"
   }, 800);

   timer = setTimeout(dailyDeal, 3000);
 }

JS FIDDLE https://jsfiddle.net/sammyzeal/dcxvLgm0/

【问题讨论】:

    标签: javascript jquery


    【解决方案1】:

    以下是我认为您正在寻找的两个示例:

    http://qnimate.com/detecting-end-of-scrolling-in-html-element/

    How to detect the end of a horizontal scroll in a div?

    两者都非常清楚可以帮助您实现它。

    第一个链接的代码:

    <script type="text/javascript">
        function scrolled(o)
        {
            //visible height + pixel scrolled = total height 
            if(o.offsetHeight + o.scrollTop == o.scrollHeight)
            {
                alert("End");
            }
        }
    </script>
    

    【讨论】:

    • 嗯,这几乎可以工作,但 OP 说他们希望它是水平的,所以你的条件应该是 o.offsetWidth + o.scrollLeft == o.scrollWidth
    猜你喜欢
    • 2015-11-11
    • 2019-04-23
    • 2023-03-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-07-09
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多