Div为display: none;
当我点击链接或图片时,我会更改为display: block;
正常工作。
当我点击相同的图标或链接时,我希望它能够显示。
因此,如果链接处于活动状态,则会显示Div,然后单击链接更改显示选项。
答案 0 :(得分:5)
是强>
<a href="#" id="toggleLink">Show</a>
你可以这样做:
普通JS
window.onload=function() {
document.getElementById("toggleLink").onclick=function() {
var div = document.getElementById("someDiv");
var show = div.style.display;
div.style.display = show=="none"?"block":"none";
return false;
}
div.style.display="none"; // init
}
的 jQuery的:强> 的
$(function() {
$("#toggleLink").on("click",function(e) {
e.preventDefault();
$("#someDiv").toggle();
});
});
如果要将文本从Show切换为Hide,请在返回false之前将其添加到普通JS
this.innerHTML=div.style.display=="none"?"Show":"Hide";
这是jQuery
$(this).text($("#someDiv").is(":visible")?"Hide":"Show");
答案 1 :(得分:2)
这是一个展示工作理念的jsfiddle:
$("#clickme").click(function() {
$("#showme").toggle();
});
jQuery的toggle函数可能就是你想要的。
答案 2 :(得分:-1)
在jQuery中你可以这样做:
$('div').click(function(){
if ($('div').css("display") == "block"){
$('div').("display", "none");
}
else{
$('div').("display", "block");
}
});
编辑:对于这种特殊情况,切换方法更可取。如果您希望为一个事件添加2个以上的结果,我建议您按照我的方式进行操作,例如,如果您想循环使用不同的背景颜色(蹩脚的例子,但提供点)