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() {  
    });
});

修正済み: 申し訳ありませんが、関数は最初から正常に動作していましたが、同僚は、css で display:none に設定された要素が var trgtに含まれていることを指摘しました。これは、コールバックで slideToggle を使用するという本来の意図でした... 大規模なため息. でも、あなたの反応に乾杯!

4

1 に答える 1

0

変数を整数に解析してみてください

parseInt(target_top)

そしてさらに試みる。私の提案が機能しない場合はお知らせください。

または、こちらをお読みください: Using a variable for a key in a JavaScript objectliteralAndy Eさんの回答を見てください。

于 2012-09-06T11:05:45.193 に答える