1

このjQuery関数では運が悪いので、ウィンドウの高さをアニメーションの値として渡そうとしています。誰かが私がここで間違っていることを教えてもらえますか?

以下は私のコードとフィドルです。

$("slice").onclick().animate(function() {
    $(this).animate({
        var theHeight = $(window).height();
        top: '+=theHeight',
    });

});

http://jsfiddle.net/rH4JJ/1/

4

4 に答える 4

2

そのようなものが必要ですか?

$(".slice").click(function () {
    var theHeight = $(window).height();
    $(this).animate({
        top: '+=' + theHeight
    });
});

デモ : http://jsfiddle.net/rH4JJ/4/

はい、確認するために、上記の例でposition: relativeはスタイルがslice要素に追加されました。そうでなければ、変更topしても意味がありません。

于 2012-05-16T17:38:00.463 に答える
1

約6つの異なる方法で完全に無意味であるため、機能しません。

$('.slice').click(function() {
    var theHeight = $(window).height();
    $(this).animate({
        top: '+=' + theHeight
    });
});

また、要素の位置をアニメーション化できるようにするには、slice要素を指定する必要があります。position: relative

于 2012-05-16T17:41:28.253 に答える
1

VisioN の回答に加えて、要素に開始位置を与える必要があることに注意してください (そのフィドルの css に postion:relative を追加したことに注意してください)。

于 2012-05-16T17:42:48.443 に答える
0

CSS (div の幅は 100%)、jQuery および jsFiddle (サイドバーの選択で jQuery を選択) を学習する必要があります。

$(".slice").on("click",function(){
    var theHeight = $(window).height();
    $(this).animate({
        top: "+="+theHeight
    });

});

編集:Divを絶対に(通常は)配置しますが、あなたの例からは相対の方が優れています。 http://jsfiddle.net/rH4JJ/16/

于 2012-05-16T17:49:12.633 に答える