我正在尝试使用 jQuery 生成我自己的画廊,其中包含可点击缩略图的 div,当点击相应的缩略图时显示/隐藏大图像。
我已经让它工作了,但只有画廊中有已知数量的图像(在本例中为 3)。如果我在画廊中有 30 张图片怎么办?我不想写出 30 次以下的代码!
我真正想要的是更改此代码....
$('#slideshow-thumbs img.1').click( function() {
$('#main-slideshow img.show').removeClass('show').addClass('hide');
$('#main-slideshow img.1').removeClass('hide');
$('#main-slideshow img.1').addClass('show');
});
$('#slideshow-thumbs img.2').click( function() {
$('#main-slideshow img.show').removeClass('show').addClass('hide');
$('#main-slideshow img.2').removeClass('hide');
$('#main-slideshow img.2').addClass('show');
});
$('#slideshow-thumbs img.3').click( function() {
$('#main-slideshow img.show').removeClass('show').addClass('hide');
$('#main-slideshow img.3').removeClass('hide');
$('#main-slideshow img.3').addClass('show');
});
...到更像这样的格式(其中 n 是一个数字,j 是画廊中的图像总数):
for (n=1; n<=j; n++) {
$('#slideshow-thumbs img.n').click( function() {
$('#main-slideshow img.show').removeClass('show').addClass('hide');
$('#main-slideshow img.n').removeClass('hide');
$('#main-slideshow img.n').addClass('show');
});
}
但是我不知道如何在 jQuery 中正确编写它,因为我是新手。真的很感激一些帮助!我还希望脚本计算 j (画廊中的图像总数)也是(通过从我假设的 html 中检测它),以便该脚本适用于任何大小的任何画廊。
提前感谢您的帮助。
相关HTML:
<div id="main-slideshow">
<img class="1 show" src="images/booklet-open.jpg"/>
<img class="2 hide" src="images/booklets.jpg" />
<img class="3 hide" src="images/poster-1.jpg" />
</div>
<div id="slideshow-thumbs">
<img class="1 active" src="images/booklet-open-thumb.jpg" />
<img class="2 inactive" src="images/booklets-thumb.jpg" />
<img class="3 inactive" src="images/poster-1-thumb.jpg" />
</div>
相关CSS:
.inactive {
opacity:0.5;
}
.active {
opacity: 1;
}
.hide {
display:none;
}
.show {
display:block;
}