我有一个无序列表。我必须从列表中选择一个项目并将其显示在固定的空间中。
我的问题是始终可视化列表的最后一个元素,当我点击其他链接时,最后一个元素始终位于正面。
如何可视化我选择的元素? 我的列表很长,我不能为所有项目制作隐藏命令。
<script>
$(document).ready(function(){
$("#show1").click(function(){
$("#one").show();
});
$("#show2").click(function(){
$("#two").show();
});
$("#show3").click(function(){
$("#three").show();
});
});
<ul id="element">
<li><div id="show1"> showElementOne </div> </li>
<li><div id="show2"> showElementTwo</div> </li>
<li><div id="show3"> showElementThree</div> </li>
</ul>
<div id="one"> <img src="http://www.grandain.com/wp-content/uploads/2014/04/cane_1.jpg" height="402" width="420"> </div>
<div id="two"> <img src="http://www.guidaprodotti.com/immagini/cane.jpg" height="420" width="420"> </div>
<div id="three"> <img src="http://www.spaziosociale.it/public/immagini/22102014152877-canebar.jpg" height="420" width="420"> </div>
</body>
答案 0 :(得分:0)
点击你的div后,你忘了隐藏其他元素。
像这样更改代码:
$("#show1").click(function(){
$('.view').hide(); // add this to your code to hide your elemets again.
$("#one").show();
});
所以你的列表很长,你不能为所有项目制作隐藏命令:
将班级view
添加到您的div。
我更新了你的小提琴: http://jsfiddle.net/ymkccefd/2/
答案 1 :(得分:0)
您可以使用index
并在图片周围添加包装
$(document).ready(function() {
$("#element div").click(function() {
$('.images div').hide();
var index = $(this).parent().index();
$(".images div").eq(index).show();
});
});
&#13;
.images div {
display: none;
}
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<ul id="element">
<li>
<div id="show1">showElementOne</div>
</li>
<li>
<div id="show2">showElementTwo</div>
</li>
<li>
<div id="show3">showElementThree</div>
</li>
</ul>
<div class="images">
<div id="one">
<img src="http://www.grandain.com/wp-content/uploads/2014/04/cane_1.jpg" height="402" width="420">
</div>
<div id="two">
<img src="http://www.guidaprodotti.com/immagini/cane.jpg" height="420" width="420">
</div>
<div id="three">
<img src="http://www.spaziosociale.it/public/immagini/22102014152877-canebar.jpg" height="420" width="420">
</div>
</div>
&#13;