1

それで、最近jQueryを勉強していて、いくつかのチュートリアルを見ましたが、うまくいかないようです。だからここで私がしたいこと..

#search_top をクリックするたびに、#container css 属性である top を 60px にする必要があります。

以下は私が使用するものです。

$("#search_top").click(function() {
    if($("#container").top() == 60) {
        $("#container").animate({top:"0px"}, 1000);
    } else {
        $("#container").animate({top:"60px"}, 1000);
    }
});

前もって感謝します。:) この質問があなたにとって非常に明確であることを願っています。

4

2 に答える 2

1

あなたの問題は.top()存在しないということです。代わりに使用できます.offset().top

jquery offset()およびjquery position()

offset() - 一致した要素のセット内の最初の要素の現在の座標を、ドキュメントを基準にして取得します。

position() - オフセットの親を基準にして、一致した要素のセット内の最初の要素の現在の座標を取得します。

$("#search_top").click(function() {
    if($("#container").offset().top == 60) {
        $("#container").animate({top:"0px"}, 1000);
    } else {
        $("#container").animate({top:"60px"}, 1000);
    }
});

ライブデモ

于 2012-06-01T00:40:13.107 に答える
1

おそらくあなたは使うべきです

 if (parseInt($("#container").css('top')) == 60){
   //do stuff
 }

jQuery.css()メソッドを使用して、css プロパティを設定または取得できます。詳細については、ここをクリックしてください

于 2012-06-01T00:47:48.500 に答える