Просто протестируйте 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's .slice()
никогда не возвращает вещи за пределы конца оставшихся элементов. Он достаточно умен, чтобы знать, когда остановиться.
Если вы дадите ему конечную точку, которая превышает количество элементов, она вернет существующие элементы, затем остановится без ошибки времени выполнения.