我需要创建一个toogle按钮HIDE / SHOW。当我按下它时,网站上的所有图像都必须消失,当我再按一次时,所有图像必须再次出现。
答案 0 :(得分:2)
这是简短的代码示例。
点击该按钮后,检查body
是否有class="hide"
并添加/删除此课程。然后在CSS中是隐藏class="hide"
的正文中的图像。
<style>
.hide img {display: none}
</style>
<p>p</p>
<p>abc</p>
<img src="http://placehold.it/100x100">
<img src="http://placehold.it/100x100">
<button id="button">SHOW/HIDE</button>
<script>
var button = document.getElementById('button');
var body = document.body;
button.onclick = function() {
body.className = body.className == 'hide' ? '' : 'hide';
}
</script>
https://jsfiddle.net/6ajr0e01/
这是没有框架的纯JS解决方案,没有迭代网站中的所有图像。它应该是(最快的)之一。
答案 1 :(得分:1)
<input type="button" value="Toggle images" onclick="$('img').toggle();" />
那就是它! : - )
修改强> 我没有注意到你可能不想在jQuery中使用这个解决方案。遗憾。
答案 2 :(得分:1)
您可以使用JQuery轻松完成此任务:
<input id='myinput'>Click to Toggle </input>
var status = "show";
$("#myinput").Click(function() {
if (status == "show") {
$('img').hide();
status = "hide";
} else {
$('img').show();
status = "show";
}
});
使用JQUERY Toggle(从评论中获取建议): JS Fiddle
$(function () {
$("button").click(function () {
$("img").toggle();
});
});
答案 3 :(得分:1)
<强> HTML 强>
<button>Toggle between hide() and show()</button>
<p>This is a paragraph.</p>
<强> JQuery的强>
$(document).ready(function(){
$("button").click(function(){
$("p").toggle();
});
});
LINK:JSFIDDLE
答案 4 :(得分:0)
var imageVisible = true;
var btn = document.getElementById('your_button_id');
btn.addEventListener('click', function () {
var images = document.getElementsByTagName('img');
if (imageVisible) {
for (var i = 0; i < images.length; i++)
images[i].style.display = 'none'
imageVisible = false;
} else {
for (var i = 0; i < images.length; i++)
images[i].style.display = 'inline'
imageVisible = true;
}
});
答案 5 :(得分:0)
这是一个工作版本 - 取自这个答案:Remove element by tag name
<img src="#" height="100" width="100" />
<br>
<img src="#" height="100" width="100" />
<br>
<button onclick="DeleteImages()">Delete all images</button>
<script type="text/javascript">
function DeleteImages(){
var element = document.getElementsByTagName("img");
for (index = element.length - 1; index >= 0; index--) {
element[index].parentNode.removeChild(element[index]);
}
}
</script>