ユーザーがスライダーの対応するボタンをクリックするたびに、スライダー内の画像のコレクションの位置を左右に「シャント」しようとしています。私はこれを機能させていますが、コードは少し大きくて反復的であるため、少しクリアしようとしています。これが現在の状態です。
$('#btnRight').click(function (e) {
e.preventDefault();
if (parseInt(6 + indexx) != 10) {
indexx++;
$('#first').attr('src', $('#second').attr('src'));
$('#second').attr('src', $('#third').attr('src'));
$('#third').attr('src', $('#fourth').attr('src'));
$('#fourth').attr('src', $('#fifth').attr('src'));
$('#fifth').attr('src', $('#sixth').attr('src'));
$('#sixth').attr('src', '/Content/Images/Gallery/Thumbs/' + parseInt(6 + indexx) + '.png');
}
});
各要素を手動で選択し、ソース属性を交換して画像を右に移動していることがわかります。
これが私が改善に取り組んできたコードですが、完全には機能しません:
$('#btnLeft').click(function (e) {
e.preventDefault();
$("#gallerySlider img").each(function (index) {
$(this).attr("src", $(this).prev().attr("src"));
});
});
これにより、現在のコレクションの最初の画像が取得され、#gallerySlider
間違っているすべての画像のソースが設定されます。しかし、アラート内に同じコードを入れると、画像が正しく表示され、前のコードが表示されます。たとえば、出力は次のようになります。
/Content/Images/Design/Thumbs/10.png Previous Image: /Content/Images/Design/Thumbs/9.png
それで、それは画像を正しく選択し、私に正しいものを返しますsrc
が、なぜそれはスライダー内のすべての画像のソースを同じものに設定するのですか?確かにそれはそれらすべてを通過するはずですそして:
$(this).prev().attr("src")
それぞれ違うのでしょうか?
誰かが私がここで間違っているところを見ることができますか?
ありがとうございました