我是否完全理解这个javascript滚动教程?

我是否完全理解这个javascript滚动教程?,javascript,html,scroll,Javascript,Html,Scroll,下面是我的教程: 它还展示了如何使用easing在单个网页上从一个分区/另一个分区滚动 代码如下: <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js"></script> <script type="text/javascript" src="../newUI/jquery.easing.1.3.js">

下面是我的教程:

它还展示了如何使用easing在单个网页上从一个分区/另一个分区滚动

代码如下:

<script type="text/javascript"       
src="http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js"></script>
<script type="text/javascript" src="../newUI/jquery.easing.1.3.js"></script>
<script type="text/javascript">
         $(function() {
            $('ul.nav a').bind('click',function(event){
                var $anchor = $(this);
                $('html, body').stop().animate({
                    scrollLeft: $($anchor.attr('href')).offset().left
                }, 1000);
                event.preventDefault();
            });
        });
  </script>
这是在创建一个新的jscript函数,其中有一个列表函数(?),可以通过单击来导航

var $anchor = $(this);
然后我创建一个变量,它只是我正在单击的列表的一个实例

    $('html, body').stop().animate({
                    scrollLeft: $($anchor.attr('href')).offset().left
                }, 1000);
                event.preventDefault();
这部分我不太清楚。我不确定是什么。停下来。动画正在做什么。我知道它会向左移动1000像素,但我不明白这个过程

多亏了所有能够清理这些动画的人。

Stop()的意思是,如果它正在执行任何其他动画,它会停止它们,然后执行该动画

它在1000毫秒或1秒钟的过程中设置动画

它还可以水平滚动,使用scrollLeft函数并阻止默认事件,这意味着它将水平滚动,使用锚属性作为引用(即内容1、2或3),而不是立即移动到内容(event.preventDefault)

请注意,每个div都有一个继承4000px宽度的“.content”类

scrollLeft: $($anchor.attr('href')).offset().left
.offset().left返回元素的左侧位置(以像素为单位)

$($anchor.attr('href'))指的是第1节、第2节或第3节,因为这些是CSS属性中声明的href属性


因此,这行代码的作用是向左滚动X个像素,具体取决于单击的数量。stop()停止元素上的当前动画。我建议在使用
.animate()
时使用此选项。在这里了解更多:@One-Trick-Pony'code'。动画({scrollTop:$(this.hash).offset().top},300)'code',所以在这里你只是动画一些函数/属性?哦,好的!这是有道理的。我在玩1000和其他数字,试图使它滚动到一边或另一边更远,但它只是不断减慢或加快。我怎样才能使它更向左滚动?或者我需要创建一个新问题来问这个问题吗?如果您想进一步滚动,而不是滚动到特定的容器,您可以始终将数字添加到scrollLeft行,例如scrollLeft:$($anchor.attr('href')).offset().left+500,表示您单击的任何数字,1、2或3,如果你想创建另一个容器,创建另一个Div,给它第4节的id,一个容器类,然后将这一行添加到你的UL中,nav类:
  • 酷,明白了。非常感谢。
        $('html, body').stop().animate({
                        scrollLeft: $($anchor.attr('href')).offset().left
                    }, 1000);
                    event.preventDefault();
    
    scrollLeft: $($anchor.attr('href')).offset().left