我正在使用 bxslider。我正在尝试编写一些 jQuery,以便在单击按钮后用不同的图像替换滑块中的每个图像。
HTML:
<!--Slider list-->
<ul class="bxslider">
<li><img src="/img/green1.png" /></li>
<li><img src="/img/green2.png" /></li>
<li><img src="/img/green3.png" /></li>
<li><img src="/img/green4.png" /></li>
</ul>
<!--Button(s)-->
<ul class="colour">
<li id="blue">Blue</li>
</ul>
jQuery:
(function() {
// Variables
var colourLis= $(".colour").children(),
listItems = $(".bxslider li img"),
imgSrc = [ 1, 2, 3, 4, ];
// Click button
colourLis.click(function() {
clickedID = $(this).id;
listItems.each(function(index) {
listItems.attr('src', '/img/' + clickedID + imgSrc[index] + '.png');
});
});
})();
我知道这看起来和听起来令人困惑,而且我的代码可能非常混乱 - 我对此很陌生!任何一般性建议将不胜感激。
无论如何,上面的 jQuery 意味着,在单击“蓝色”时,滑块中的四个图像中的每一个都会将其 src 更改为指向新图像,从而更改滑块的内容。
例如 /img/green1.png 会变成 /img/blue1.png 和 green2.png 会变成 blue2.png 等等。
问题是,这种方法似乎并不能始终如一地工作。我似乎无法确定出了什么问题,但控制台经常告诉我它只为每个实例加载图像 4。(即 blue4.png 将在单击按钮后插入到每个 li 中)。
如果有人可以帮助我,那就太好了!
我愿意接受更好的方法来做到这一点。正如我所说,我是新手,所以不确定进行这种操作的最佳方法是什么。我希望这个功能能够缩放,所以我可以有多个不同的按钮,即蓝色、红色、橙色等。
提前致谢。
西拉