我正在尝试使用<select>
-element 根据所选选项显示不同的图像滑块。我完全知道可能有更好的方法来做到这一点,但由于在这种情况下性能并不重要,我认为以下可能是最简单的选择。
这是 HTML:
<select id="album-select">
<option value="album1" selected="selected">Album 1</option>
<option value="album2">Album 2</option>
<option value="album3">Album 3</option>
<option value="album4">Album 4</option>
</select>
<ul id="album1-slides" class="rslides">
<li><img src="img/album/1.jpg" alt=""></li>
<li><img src="img/album/2.jpg" alt=""></li>
<li><img src="img/album/3.jpg" alt=""></li>
</ul>
<ul id="album2-slides" class="rslides">
<li><img src="img/album/4.jpg" alt=""></li>
<li><img src="img/album/5.jpg" alt=""></li>
<li><img src="img/album/6.jpg" alt=""></li>
</ul>
<ul id="album3-slides" class="rslides">
<li><img src="img/album/7.jpg" alt=""></li>
<li><img src="img/album/8.jpg" alt=""></li>
<li><img src="img/album/9.jpg" alt=""></li>
</ul>
<ul id="album4-slides" class="rslides">
<li><img src="img/album/10.jpg" alt=""></li>
<li><img src="img/album/11.jpg" alt=""></li>
<li><img src="img/album/12.jpg" alt=""></li>
</ul>
我正在使用Responsive Slides,尽管这并不重要,因为它可以完美运行。以防万一您想知道 -<ul><li></li></ul>
结构。
所有<ul>
元素都display: none
通过 CSS 分配。
这是我的 JavaScript/jQuery 代码:
<script>
$(document).ready(function() {
$("#album1-slides").show();
function changeGallery(gallery) {
$(".rslides").hide();
var newGallery = "\"" + gallery + "-slides" + "\"";
$(newGallery).show();
}
$("#album-select").change(function() {
var gallery = "#" + $("#album-select").val();
changeGallery(gallery);
});
});
</script>
因此,当我打开页面时,会自动显示第一张专辑。更改选择<option>
时,它应该隐藏显示的专辑(通过隐藏所有专辑,因为这是最快的方式)并显示新专辑。
我不知道问题是什么,但是当我尝试它时,我在控制台中收到以下错误:
Uncaught Error: Syntax error, unrecognized expression: "#album2-slides"
这对我来说毫无意义,因为这正是我想要在我的$(selector).show();
. 我想这与引号有关,但谷歌搜索对我没有帮助。
我正在使用 jQuery 1.9.1。
提前感谢您的任何建议和解决方案!:)