Javascript jQuery动画滚动到锚点不工作?

Javascript jQuery动画滚动到锚点不工作?,javascript,jquery,html,css,animation,Javascript,Jquery,Html,Css,Animation,我以为我已经解决了这个问题,但事实证明我没有。基本上构建一个tumblr主题,我的代码中的某些内容与jquery动画滚动到顶部相冲突。我尝试过移除一些东西,因为我不完全确定它可能是什么,并且认为它可能对其他人来说是非常明显的 这里有一个指向我的主题和一个JSFIDLE的链接,我一直在遵循这个链接来设置平滑卷轴的动画 下面是我使用的代码,我只是使用了一个标准的a链接和id,当它指向正确的点时,链接很好,只是滚动不平稳 $(document).ready(function() { var hashT

我以为我已经解决了这个问题,但事实证明我没有。基本上构建一个tumblr主题,我的代码中的某些内容与jquery动画滚动到顶部相冲突。我尝试过移除一些东西,因为我不完全确定它可能是什么,并且认为它可能对其他人来说是非常明显的

这里有一个指向我的主题和一个JSFIDLE的链接,我一直在遵循这个链接来设置平滑卷轴的动画

下面是我使用的代码,我只是使用了一个标准的a链接和id,当它指向正确的点时,链接很好,只是滚动不平稳

$(document).ready(function() {
var hashTagActive = "";
$(".scroll").click(function (event) {
    if(hashTagActive != this.hash) { //this will prevent if the user click several times the same link to freeze the scroll.
        event.preventDefault();
        //calculate destination place
        var dest = 0;
        if ($(this.hash).offset().top > $(document).height() - $(window).height()) {
            dest = $(document).height() - $(window).height();
        } else {
            dest = $(this.hash).offset().top;
        }
        //go to destination
        $('html,body').animate({
            scrollTop: dest
        }, 2000, 'swing');
        hashTagActive = this.hash;
    }
});
});

编辑:如果有人有更简单的选择,我愿意接受建议吗

如果不添加,则对
设置动画功能的缓解效果将不起作用。jQueryCore不具备易用性

<script type="text/javascript" src="http://gsgd.co.uk/sandbox/jquery/easing/jquery.easing.compatibility.js"></s‌​cript>

最后一点,你应该用变量来组织你的代码,你的代码很难阅读和维护。

第一次滚动就可以了,但之后任何时候都不行。检查所有已习惯的var,以查看是否保留了某些内容

编辑: 线路

if(hashTagActive != this.hash)
如果您已经单击了“返回顶部”,则不会对jquery动画产生影响,因为hashTagActive已经是顶部。这就是为什么它只工作一次,而不是两次

编辑2:
查看解决方法

如果($(this.hash).offset().top>
,您真的需要条件
吗?如果您只使用.offset(),ScrollTop可以正常工作。元素顶部作为目的点。我没有发现您的问题,因为您的代码运行方式与您提供的链接类似,只是您将时间间隔设置为2000毫秒。两种情况下的滚动都是平滑的。如果您唯一的问题是它不平滑,您可能正在寻找jQuery UI:-您想要哪一个?(单击它们并查看它们是如何工作的)…你需要包括jQuery UI才能工作…在小提琴中,它工作得很好,在我的主题中,链接可以跳到顶部,但没有动画发生。对不起,我不太喜欢jQuery。我相信唯一的问题是它不会滚动,但我不明白为什么?我该如何使用jQuery轻松-任何教程或示例amples,非常感谢!您好,感谢您的回复,这似乎在现场或小提琴中不起作用,并且还中断了锚链接。@user2498890如果您想使用轻松效果,您需要添加此脚本:
谢谢,但我也尝试了,但没有运气。有什么想法吗?正如您所看到的,它在小提琴上工作很好。如果它在您的电脑上不起作用模板,我们可以检测到tumblr还有一些其他方面。它在JSFIDLE中不起作用,因为它会显示一条消息,说“请停止热链接我的easing脚本”?他在滚动目标mate方面没有问题。他正在尝试使动画更平滑-问题是代码不会干扰jquery动画第一次单击“返回顶部”后。这就是为什么它不平滑。他是一个她-谢谢你的回答,我如何准确编辑,我需要删除行吗?动画完成后,你可以在动画调用中放置回调函数以清除hashTagActive。这意味着你在动画期间禁用它,并在完成后清除它。请参阅上面的编辑2
if(hashTagActive != this.hash)