Javascript 设置函数jquery运行两次的动画

Javascript 设置函数jquery运行两次的动画,javascript,jquery,html,css,Javascript,Jquery,Html,Css,伙计们,我为这段代码绞尽脑汁太久了。就我个人而言,我不明白为什么每次点击链接它都会运行两次。谁能看一下我的代码,告诉我为什么要这样做 <script type='text/javascript'>//<![CDATA[ $(function(){ function scrollToAnchor(aid){ var aTag = $("a[name='"+ aid +"']"); $('html,body').animate({scrollLeft: aTag.offset

伙计们,我为这段代码绞尽脑汁太久了。就我个人而言,我不明白为什么每次点击链接它都会运行两次。谁能看一下我的代码,告诉我为什么要这样做

<script type='text/javascript'>//<![CDATA[ 

$(function(){

function scrollToAnchor(aid){
var aTag = $("a[name='"+ aid +"']");
$('html,body').animate({scrollLeft: aTag.offset().left}, "slow", function() { console.log("test"); } );
};

$(".forward").click(function() {
    var div_name = $(this).attr("href");
    scrollToAnchor(div_name);
});

});//]]>

每次单击“转发”时,它应该只将“测试”记录到控制台一次,但会记录两次。

只需添加我的注释,作为其他有相同问题的人的答案:

$('html,body').animate({scrollLeft: aTag.offset().left}, "slow", function() { console.log("test"); } );
};
$('html,body')
使html标记和body标记设置动画,因此动画似乎运行两次。
只需将其更改为
$('body')
即可解决此问题。

可能是因为您正在制作html和body标记的动画?唉,我认真地盯着这段代码看了好几个小时了。我删除了html标记并离开了主体,它停止运行了两次。芬德,你太棒了。非常感谢你!现在我可以睡觉了。再次谢谢你!我真的不知道我是怎么错过的。我想我认为这是一个“两者”而不是“和”。显然,我需要睡一觉。
.next{
    position:fixed;
    padding:10px;
    background: rgba(0,0,0, 0.6);
    top:48%;
    right:0;
    text-shadow: 1px 1px 1px #000;
    z-index:201;
}
.next a{
    text-decoration:none;
    color:white;
}
.next a:hover{
    text-decoration:none;
    color: red;
}
$('html,body').animate({scrollLeft: aTag.offset().left}, "slow", function() { console.log("test"); } );
};