更改为阻止后如何更改为display:none

时间:2013-09-17 13:18:12

标签: javascript

Div为display: none;

当我点击链接或图片时,我会更改为display: block;正常工作。

当我点击相同的图标或链接时,我希望它能够显示。

因此,如果链接处于活动状态,则会显示Div,然后单击链接更改显示选项。

3 个答案:

答案 0 :(得分:5)

<a href="#" id="toggleLink">Show</a>

你可以这样做:

普通JS

Live Demo

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的:

Live Demo

$(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:

http://jsfiddle.net/DjxM8/

$("#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个以上的结果,我建议您按照我的方式进行操作,例如,如果您想循环使用不同的背景颜色(蹩脚的例子,但提供点)