0

これはどこにも見つかりません。スライスがリストに残っている要素を返しているかどうかをどのように確認しますか?好き$('.class').slice(n-th,n-th);

スライスによって戻りクラスのインデックス全体でn番目の変数が増加した場合、スライスが無効なインデックスに戻ったときをどのように知ることができますか?私がそれをうまく説明したことを願っています。

これが私が達成しようとしていることのサンプルコードです:

$(window).scroll(function() {
    if(!($('embed').slice(p1,p2).show())){
        $(window).unbind('scroll');
    }
    ++p1;++p2;
}

また、なぜ私のイベントは拘束力を持たないのですか?

助けてくれてありがとう:)

4

2 に答える 2

2

slice().length何かが戻ったかどうかを確認するためにテストするか、特定のについてテストすることができますlength

あなたの場合:

var $mySlice = $('embed').slice(p1,p2); // <== Store slice

  // Check that slice returned 1+ elements
if( $mySlice.length ) { 

      // show them if yes
    $mySlice.show();
} else {

      // unbind if no
    $(window).unbind('scroll');
}

一般的にあなたは見たいです:

$( ... ).slice( ... ).length

上記は単に1つ以上の要素をテストします。要素を切り取ってN、完全で完全な結果を確実に取得したい場合は、次のように変更するだけです。

if ( $mySlice.length == N ) {

jQuery.slice()は、残りの要素の終わりを超えて物事を返すことはありません。いつ停止するかを知るのに十分賢いです。

要素の数を超えるエンドポイントを指定すると、存在する要素が返され、ランタイムエラーなしで停止します。

于 2010-09-24T03:48:04.020 に答える
1

間違った引数を渡すと、スライスは空の配列を返すだけです。

于 2010-09-24T03:53:08.557 に答える