1

私は 3 つのフォームの単純なコードを持っています

簡単なコードをご覧ください。 http://jsfiddle.net/NjWAz/ (うまくスライドしません)。

div id のみが追加されている場合は、適切にスライドします。 http://jsfiddle.net/NjWAz/2/ (実際に機能する原因は何ですか? IDを変更するだけで機能するのですか?)

そして別の形で。 http : / jsfiddle.net/NjWAz/ )

4

1 に答える 1

1

最初の例で機能しない理由は、リンクのデフォルトの動作を妨げていないためです。ハッシュ タグ (例#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;
    });
});​​​​​

うまくいけば、私の説明は理にかなっています:)

于 2012-02-24T17:13:46.250 に答える