お手数ですが、このコードは機能しません。次の画像を選択していますが、最後の画像にあり、「次の画像」がない場合は、「li」の最初の画像を選択します。私はif条件を追加しました:if(nextLi.value!== '))...これは動作していないようです。.first( 'li)リストの最初の項目を選択していないと
if (!nextLi.length){
//do stuff
}
選択はあなたが!
お手数ですが、このコードは機能しません。次の画像を選択していますが、最後の画像にあり、「次の画像」がない場合は、「li」の最初の画像を選択します。私はif条件を追加しました:if(nextLi.value!== '))...これは動作していないようです。.first( 'li)リストの最初の項目を選択していないと
if (!nextLi.length){
//do stuff
}
選択はあなたが!
。もしブロック内の3行が同じであることも
if (nextLi.length > 0) {
注:あなたはそれがすべての要素が含まれているかどうかを確認したい場合は何かがセレクタ(複数可)をマッチした場合、つまり、あなたはその後、ちょうどその.length
プロパティを確認してください使用しましたあなたのコードを簡素化することができますので、他の最後の3行として、次のように:それは唯一の代わりに使用されて以来
if (nextLi.length === 0) {
nextLi = $('.sel').parent().parent().first('li').find('a');
}
$('#background').find('img').attr({'src': nextLi.attr('rel') });
$('.sel').appendTo(nextLi);
は(私は完全にnextLia
変数を削除しました - あなただけの直接ときnextLi.attr('rel')
を使用することができますsrc
属性を設定してください)
nextLi
jQueryオブジェクトであるを追加してnextLi.length
は、0(すなわちfalse
)を返します空の場合:あなたは、代わりにlength
を使用して行う必要があります
function nextImg(){
$('#background').find('img').animate({'opacity': 0}, 500, function(){
var nextLi = $('.sel').parent().parent().next('li').find('a');
if (nextLi.value !=='') {
var nextLiA = nextLi.attr('rel');
$('#background').find('img').attr({'src':nextLiA});
$('.sel').appendTo(nextLi);
} else {
var nextLi = $('.sel').parent().parent().first('li').find('a');
var nextLiA = nextLi.attr('rel');
$('#background').find('img').attr({'src':nextLiA});
$('.sel').appendTo(nextLi);
}
});
}
これを試してください。 li
のサイズをチェックし、見つからなければ最初のものを選択します。
function nextImg(){
$('#background').find('img').animate({'opacity': 0}, 500, function(){
var li = $('.sel').parent().parent().next('li').find('a');
if(li.length == 0) {
//if there is not last item
li = $('.sel').parent().parent().first('li').find('a'); //get the first item
}
var liA = li.attr('rel');
$('#background').find('img').attr({'src':liA});
$('.sel').appendTo(li);
});
}
HTMLマークアップを投稿できますか – Curt