1

嗨,窥视者想知道是否有人可以帮助我使用单击功能,应该为目标锚设置动画,当使用整数作为 scrollTop 值时它可以正常工作,但是当我传递一个它不喜欢的变量时。有任何想法吗?

$(".project a").click(function(event){
    event.preventDefault();
    var full_url = this.href;
    var parts = full_url.split("#");
    var trgt = parts[1];
    var target_offset = $("#"+trgt).offset();   
    var target_top = target_offset.top; //- 90; 

    $('html, body').animate({scrollTop:target_top}, 1000, function() {  
    });
});

修复:好的抱歉,该函数从一开始就运行良好,但是一位同事指出 var trgt 包含一个元素,该元素在 css 中设置为 display:none,其初衷是在回调中使用 slideToggle ......巨大的叹息. 为你的回应干杯!

4

1 回答 1

0

尝试将变量解析为整数

parseInt(target_top)

然后再试一次。如果我的建议不起作用,请告诉我。

或阅读以下内容:在 JavaScript 对象文字中使用变量作为键。看看Andy E的回答。

于 2012-09-06T11:05:45.193 回答