【发布时间】:2016-11-25 18:30:15
【问题描述】:
我有一个图像列表,我想根据单击的<li> 元素来隐藏/显示这些图像。我已经能够成功地做到这一点,但是,显示的图像下方/上方仍然有空白。这是我目前使用的代码:
HTML
<div class="img-container">
<img id="img1" src="img/image1.jpg" />
<img id="img2" src="img/image2.jpg" />
<img id="img3" src="img/image3.jpg" />
</div>
CSS
.img-container{
text-align: center;
visibility: hidden;
margin-top: 20px;
}
JS
var img1 = document.getElementById('img1');
var img2 = document.getElementById('img2');
var img3 = document.getElementById('img3');
("li:nth-child(2)").on('click', function() {
img1.style.visibility = 'visible';
img2.style.visibility = 'hidden';
img3.style.visibility = 'hidden';
});
("li:nth-child(3)").on('click', function(){
img2.style.visibility = 'visible';
img1.style.visibility = 'hidden';
img3.style.visibility = 'hidden';
});
("li:last-child").on('click', function() {
img3.style.visibility = 'visible';
img2.style.visibility = 'hidden';
img1.style.visibility = 'hidden';
});
我尝试过将display: hidden css 属性与.toggle() 配对使用,但似乎无法使其正常工作。我曾尝试搜索此内容,但在删除隐藏图像所保留的空白时找不到任何内容。我对 JS/jQuery 比较陌生。谢谢。
【问题讨论】:
-
您可以使用
display = 'block'显示可见性并使用display = 'none'隐藏它们。
标签: javascript jquery css jquery-mobile