Сначала я хочу сказать, что я новичок в обучении jQuery, и я пытаюсь создать слайд-шоу, используя его.
Вот jQuery:
$(document).ready(function() {
$("#Slider li img").click(function() {
$("").fadeTo('slow',0);
$('#mainImg').attr('src',$(this).attr('src').replace('thumb/', ''));
});
var imgSwap = [];
$("#Slider li img").each(function() {
imgUrl = this.src.replace('thumb/', '');
imgSwap.push(imgUrl);
});
$(imgSwap).preload();
});
$.fn.preload = function() {
this.each( function() { $('<img/>')[0].src = this; });
}
И мои divs:
<div id="Slider">
<img src="sliderImg/img_1.png" alt="" id="mainImg" />
<ul>
<li><img src="sliderImg/thumb/img_1.png" alt="" /></li>
<li><img src="sliderImg/thumb/img_2.png" alt="" /></li>
<li><img src="sliderImg/thumb/img_3.png" alt="" /></li>
<li><img src="sliderImg/thumb/img_4.png" alt="" /></li>
<li><img src="sliderImg/thumb/img_5.png" alt="" /></li>
<li><img src="sliderImg/thumb/img_6.png" alt="" /></li>
<li><img src="sliderImg/thumb/img_7.png" alt="" /></li>
<li><img src="sliderImg/thumb/img_8.png" alt="" /></li>
<li><img src="sliderImg/thumb/img_9.png" alt="" /></li>
</ul>
</div>
Я хочу сделать переходы между изображениями.
Как я могу это сделать? Я попытался использовать fadeTo()
но я не смог добиться успеха.
Спасибо за помощь
fadeTo не используется для затухания для другого элемента, он используется для затухания в другом стиле для одного элемента.
Вы можете вытереть один элемент и затухать в другом, чтобы делать то, что вам нужно.
Другие ответы выявили проблемы в вашем коде, но вы могли бы рассмотреть возможность использования плагина слайд-шоу для JQuery в качестве альтернативы написанию собственного слайд-шоу. Возможно, вам будет проще использовать плагин для достижения эффекта, которым вы пользуетесь. Вы можете просматривать плагины слайд-шоу на веб-сайте плагина JQuery: http://plugins.jquery.com/tag/slideshow/. Также есть много блогов, в которых перечислены "лучшие плагины слайдов jquery", которые можно найти в Google.
Ваш $("").fadeTo('slow',0);
не может работать, потому что вы не нацеливаете какой-либо элемент.
Вы можете использовать $(this).fadeTo('slow', 0);
или любой другой селектор.
Вам нужно получить все изображения и сохранить их в массиве. Покажите первый. Когда щелкнуть, показывая следующий (один шаг в массиве) и скрыть остальные. Тогда и так. Остальное - просто CSS.