jQuery   发布时间:2022-04-19  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了带有数据属性的jQuery ScrollTO大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我真的需要帮助解决这个问题,我对JS的了解并不是那么好.所以,基本上我想滚动到单击链接时的部分,但不是通过(href =“#target”),我想用属性来做.此外,如果可能的话,我也希望从顶部添加属性偏移.请看一下代码,你会得到一个更清晰的图片.

HTML例:

<nav>
    <a href="#" data-attr-scroll="#section1" class="scrollto">Section 1</a>
    <a href="#" data-attr-scroll="#section2" class="scrollto">Section 2</a>
    <a href="#" data-attr-scroll="#section3" class="scrollto">Section 3</a>
    <a href="#" data-attr-scroll="#section4" class="scrollto">Section 4</a>
    <a href="#" data-attr-scroll="#section5" class="scrollto">Section 5</a>
</nav>

<div class="test" id="section1">
    #1 Section
</div>
<div class="test" id="section2" data-scroll-offset="100">
    #2 Section
</div>
<div class="test" id="section3">
    #3 Section
</div>
<div class="test" id="section4" data-scroll-offset="200">
    #4 Section
</div>
<div class="test" id="section5" data-scroll-offset="300">
    #5 Section
</div>

JS例子:

jQuery(document).ready(function($) {
        $(".scrollto").click(function(event) {
            event.preventDefault(); 

            var defaultAnchorOffset = 0;

            var $anchor = $(this).attr('data-attr-scroll');

            var anchorOffset = $anchor.attr('data-scroll-offset');
            if (!anchorOffset)
                anchorOffset = defaultAnchorOffset; 

            $('html,body').animate({ 
                scrollTop: $anchor.offset().top - anchorOffset
            },500);        
        });
    });

CSS示例:

nav {
        position: fixed;
        top: 20px;
        right: 20px;
    }
    .test {
        height: 500px;
    }

我知道JS代码很糟糕.如果有人能帮助我,我将非常感激.

先感谢您.

问候,
丹尼

Fiddle Demo

@H_404_37@解决方法
在这里,我宁愿采用id的字符串表示并连接选择器,它工作正常!

jQuery(document).ready(function($) {
    $(".scrollto").click(function(event) {
        event.preventDefault(); 

        var defaultAnchorOffset = 0;

        var anchor = $(this).attr('data-attr-scroll');

        var anchorOffset = $('#'+anchor).attr('data-scroll-offset');
        if (!anchorOffset)
            anchorOffset = defaultAnchorOffset; 

        $('html,body').animate({ 
            scrollTop: $('#'+anchor).offset().top - anchorOffset
        },500);        
    });
});

我认为它没有用,因为你试图从一个字符串中转换一个对象

继承人,玩得开心!

http://jsfiddle.net/JcEb3/1/

大佬总结

以上是大佬教程为你收集整理的带有数据属性的jQuery ScrollTO全部内容,希望文章能够帮你解决带有数据属性的jQuery ScrollTO所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。