滚动到顶部按钮,jQuery在Safari v.7.0.5中不起作用

Scroll to top button with jQuery not working in Safari v. 7.0.5?

本文关键字:不起作用 Safari 顶部 按钮 jQuery 滚动      更新时间:2023-09-26

我正在构建一个 Tumblr 主题,但我的后到顶部按钮遇到了一些问题。它似乎适用于Chrome和Firefox以及较新版本的Safari,但是在我的Safari版本(7.0.5)上,该链接可以将链接定向回顶部,但动画滚动不起作用。如果它有帮助,我也在使用 jquery 版本 1.10.1。

我已经尝试了各种方法,但看不到我哪里出了问题。我认为可能有一些东西与它相冲突,但我不是 100% 确定。

下面是我正在使用的代码,如果检查会有所帮助,这里是主题的链接。

http://minori-theme.tumblr.com

任何建议或帮助将不胜感激。

.HTML

<body>
    <a name="top">&nbsp;</a>
        <div class="wrapper">
            Main Content here
        </div>
     <a href="#top">Back to Top</a>
</body>

.JS

<script> 
$(document).ready(function() {
            function scrollToAnchor(aid){
                var aTag = $("a[name='"+ aid +"']");
                $('html,body').animate({scrollTop: aTag.offset().top},'slow');
            }
            $("a").click(function() {
                var href = $(this).attr('href').replace('#', '')
                scrollToAnchor(href);
            });         
        });
</script>

您可以尝试阻止锚标记的默认行为:

<script> 
    $(document).ready(function() {
        function scrollToAnchor(aid){
            var aTag = $("a[name='"+ aid +"']");
            $('html,body').animate({scrollTop: aTag.offset().top},'slow');
        }
        $("a").click(function(e) {
            //Add the e parameter to get the event object and call preventDefault.
            e.preventDefault();
            var href = $(this).attr('href').replace('#', '')
            scrollToAnchor(href);
        });         
    });
</script>

事实证明,阻止默认建议破坏了页面上的所有链接,我没有意识到的是我的身高:100% 在正文和 html 上阻止了返回顶部按钮工作。删除后,返回顶部工作。