1
ライトボックスのスタイルギャラリーに私のギャラリーに与えるスクリプトを書きました。左右のシェブロンを付け加えたので、これを行う機能を追加しました。しかし、私の左の機能は、ギャラリーを通って最初から最後までループしながら、シームレスなループのイメージを与えていますが、私の右の機能はうまくいかず、最終的なイメージに直接進み、それから続行しません。誰もがなぜこれを示唆することができますか?私は、私はあなたが適切に整列コードを投稿できるように、コード対のようなものを使用することができますアドバイスjqueryの「ライトボックス」スタイル関数を書きましたが、ライトボックスでイメージのシームレスなループを左右に作成するのに苦労しています
var currentImage;
$(document).ready(function() {
$('.lightboxBG').hide();
});
$(document).ready(function(){
$('.galleryphoto').click(function()
{
var image_href = $(this).attr("src");
$('.lightboxBG').show();
$('.lightboxIMG').attr("src",image_href);
currentImage = image_href;
});
var images = $("img.galleryphoto").map(function() {
return $(this).attr("src");
});
var left = $('.fa-chevron-left');
var right = $('.fa-chevron-right');
//here is the function which doesn't want to work.
right.click(function(){
for(var j = 0; j < images.length; j++){
if(images[j]=== currentImage){
if(images[j+1] !== undefined){
$('.lightboxIMG').attr("src", images[j+1]);
currentImage = images[j+1];
}
else{$('.lightboxIMG').attr("src", images[0]);
currentImage = images[0];
}
}
}
});
// here is the function which works nicely.
left.click(function(){
for(var i = 0; i < images.length; i++){
if(images[i]=== currentImage){
if(images[i-1] !== undefined){
$('.lightboxIMG').attr("src", images[i-1]);
currentImage = images[i-1];
}
else{$('.lightboxIMG').attr("src", images[images.length-1])
currentImage = images[images.length-1];
}
}
}
});
$('.fa-window-close').click(function(){
$('.lightboxBG').hide();
})
});
おかげで、コードについて申し訳ありませんが、私は徹底的にあなたを調べ、私は将来的にそれを行うことができますので、それを書き換えしようとするつもりです、私も持っていますあなたのアドバイスを取って、コードをダウンロードした、私は前に昇華を使用していたと私は常にstackoverflowのためにそれをフォーマットするために苦労しています。とにかく助けてくれたことは分かっていますが、私のコードがうまくいかなかった理由が分かったのですが、私はあなたのことがはっきりと分かっていますが、コードが失敗する理由私は間違っていたのですか? – JamesVitaly
申し訳ありませんが、あなたのコードでtypeErrorを取得しました。これは、.indexOfが関数ではないことを示しています – JamesVitaly
興味があれば、これは '' '' '' '' '' 'imageUrls = $(" img.galleryphoto " (function(){ $(this)).attr( "src"); '' ''はオブジェクトを作成していましたが、indexOfは配列を操作する必要があったので、 '' '' var imageUrls = Array(); $( 'img.galleryphoto')。それぞれ(function(){ imageUrls.push($(this).attr( 'src')); }); '' ''これで作業しています;) – JamesVitaly