私は 3 つのフォームの単純なコードを持っています。
簡単なコードをご覧ください。 http://jsfiddle.net/NjWAz/ (うまくスライドしません)。
div id のみが追加されている場合は、適切にスライドします。 http://jsfiddle.net/NjWAz/2/ (実際に機能する原因は何ですか? IDを変更するだけで機能するのですか?)
そして別の形で。 http : / jsfiddle.net/NjWAz/ )
私は 3 つのフォームの単純なコードを持っています。
簡単なコードをご覧ください。 http://jsfiddle.net/NjWAz/ (うまくスライドしません)。
div id のみが追加されている場合は、適切にスライドします。 http://jsfiddle.net/NjWAz/2/ (実際に機能する原因は何ですか? IDを変更するだけで機能するのですか?)
そして別の形で。 http : / jsfiddle.net/NjWAz/ )
最初の例で機能しない理由は、リンクのデフォルトの動作を妨げていないためです。ハッシュ タグ (例#two
) を使用してリンクを作成すると、リンクはページを同じID
パラメーター (例<div id="two">
)を持つ要素に移動します。
最初の例では、 を指すリンクが#two
あり、同じ ID を持つ要素がある<div id="two">
ため、要素にジャンプし、jQuery アニメーションを実行し続け、あたかも に移動しているように見え#three
ます。
2 番目の例では、href
属性値がどの HTML 要素とも一致しないため、正常に機能します。
3 番目の例では、リンクのデフォルトの動作を妨げているため、機能します。
3 番目の例のメソッドを使用してデフォルトの動作を防止するか、単に return false; を置くことができます。クリックイベントの最後に:
$( function () {
$(".clickIt a").click( function () {
var linked = $(this).attr("href");
var pos = $(linked).position();
$(".clickSlider").stop().animate({left: -pos.left,}, 500 );
return false;
});
});
うまくいけば、私の説明は理にかなっています:)