显示当前div和下一个隐藏的隐藏div

时间:2011-10-26 09:39:34

标签: javascript jquery html css

<div id="home">
    <div id="logo">  </div>

        <div id="foot"> <div class="button"> CLICK ME</div>  
            <div class="button two"> CLICK ME</div> </div>
</div>

<div id="show">
    TEST TEST TEST TEST
</div>

$('.button').click(function(){
    $('#show').show();
})

#home {
 width: 400px;
 height: 400px;
 background-color: #ccffff;   
}

#logo {
   width: 100%;
   height: 300px;
    background-color: #0099ff;
}

#foot {
   width: 100%;
   height: 100px;
    background-color: #009999;
}

.button {
 width: 90px;
 height: 30px;
 background-color: red;
 margin-left: 50px;
}

我想如果我点击RED。按钮然后绿色。显示我红色按钮,如果我点击绿色外面。显示然后隐藏。

LIVE: http://jsfiddle.net/YeE4p/1/

2 个答案:

答案 0 :(得分:3)

这有点接近你想要的吗? http://jsfiddle.net/neilheinrich/YeE4p/6/

我必须将#show div更改为绝对定位并使用此javascript:

$('.button').click(function(){

  var $show = $('#show');
  var position = $(this).offset()

  $show.css({
    "left": position.left + "px", 
    "top":position.top + "px"
  }).show();

  $(window).bind("mousedown", function(e){
    if (!($(e.target).attr("id") === "show")) {
      $("#show").hide();
      $(window).unbind("mousedown");
    }
  });
})

答案 1 :(得分:1)

试试这个

http://jsfiddle.net/Quincy/YeE4p/4/

$('.button').click(function(event){
    $('#show').show();
    event.stopPropagation();
})

$('body').click(
    function(){
    $('#show').hide();
}
)