2012-05-07 24 views
0

私はこれが簡単だと確信していますが、私は運が一面も見ていません。私はページ上のリストをアニメーション化するページングjQueryスクリプトを書いています。私はあなたがリスト内のどこにいるかに応じて表示/隠している次と前のボタンを持っていますが、初めてポジションを変更することはありません。ここに私のコードはjsFiddleである:JavaScriptが変更を検出しない

http://jsfiddle.net/mikeoram/t4787/

私はすべての提案が役立つだろう、私は単純な何かが欠けてると確信しています。

私の質問に答えてください、私はそれが私の方法でやっている理由があります、私は違ったやり方で行うことはできません。

おかげで、

マイク

+1

あなたのHTMLコードを投稿することはできますか? –

+1

HTMLを投稿するか、http://jsfiddle.netを作成してください。これは私たちの生活を容易にし、より速く答えるのを助けます。 – rcdmk

+0

_「私の質問に答えるだけで、私はそれが私のようにやっている理由があり、違うことはできません。」_それはかなり要求されていて、助けようとする人々に対して大きな態度ではないようです。また、あなたの質問は今後も他人を助けるためにここにとどまっていますので、改善のための提案はすぐに必要以上に進んでいます。 – Sparky

答えて

1

まず、topは、階層内の先頭のウィンドウを参照する予約済みの変数です。

var top = $('.paginate').css('top'); 

第二に、それは常に有効な整数になりますので、トップ値から非数字を削除するために正規表現を使用し、:それはあなたのコードの残りの部分を台無しにしないように、必ず関数内の変数を宣言

これを参照http://jsfiddle.net/MaLDK/1/

+0

助けてくれてありがとう、私はまだ私の問題を解決していないあなたの償いを作った。 jsFiddleの例を見てください:http://jsfiddle.net/mikeoram/t4787/ –

+0

'buttons()'呼び出しを 'animate()'呼び出しのコールバックに直接移動して実行することにも注意してくださいアニメーションが終了するとすぐにまた、比較は文字列でなければなりません: 'top ==" 0 "'、 'top'変数は文字列です。 – rcdmk

+0

華麗!どうもありがとうございました! http://jsfiddle.net/t4787/1/このボタンをチェックするとアニメーション()の中に最後の値を入れてアニメーションが実行されるようにする必要があることに注意してくださいコンプリート。 –

0

$('.paginate').css('top');は、あなたが数字を比較したい場合はparseFloat($('.paginate').css('top'));

これがあれば、任意の文字列の末尾に数字以外を削除しますか、あなたに0px

を返すことができます。数字の前には文字がありません。

+0

助けてくれてありがとうが、私はそれが最後の2文字を削除していた理由でpxで値を返します。 parseFloatの必要はありません。しかし、提案をありがとう。 –

関連する問題