使用jQuery显示和隐藏元素

时间:2013-03-03 11:12:27

标签: javascript jquery show-hide

我正在研究这个问题:

<div id='container'>

<div id="box1">
<h1>Share it!</h1>
</div>    

<div class="box" style="visibility: hidden">
<a href="#" class="bt btleft">Facebook Button here</a>
<a href="#" class="bt btright">Twitter Button here</a>
</div>
</div>


$("#container").hover(function () {
   $("#container div").css("visibility","visible");
},
function () {
   $("#container div").css("visibility","hidden");
});

http://jsfiddle.net/L9USt/3/

我想要达到的目标就像网站Mashable

我想要实现的是当我将鼠标悬停在“分享它!”这个词上时,它会自动隐藏并显示链接(在同一个位置)。我被困在这里一段时间,有人可以帮忙吗?

4 个答案:

答案 0 :(得分:5)

通过HTML中的一些更改,您可能会觉得这很有用。只需使用jQuery的.hover功能来切换状态。

<强> HTML

<div class="social">
     <h1>Share this</h1>

    <div class="networks">
        <p>Twitter</p>
        <p>Facebook</p>
    </div>
</div>

<强> CSS

.networks {
    display:none;
}

<强> JS

$(".social").hover(function() {
    $("h1", this).hide();
    $(".networks", this).fadeIn();
}, function() {
    $(".networks", this).hide();
    $("h1", this).fadeIn();
});

fadeIn()只是添加了一个很好的淡化效果,你也可以在那里使用.show()

JSfiddle

答案 1 :(得分:1)

使用html函数在父级中动态加载内容。 示例:http://jsfiddle.net/slown1/TqGFQ/

以下是解决方案:

<强> HTML:

<div id='container' style="border:1px solid red;">
    <h1>Share it!</h1>
</div>

<强> JS:

$("#container").hover(function () {
    $("#container").html("<a href='#' "+
     "class='bt btleft'>"+"Facebook Button here</a><a href='#'" +
     "class='bt btright'>Twitter Button here</a>'");
    },
      function () {
          $("#container").html("<h1>Share it!</h1>");
      });

答案 2 :(得分:0)

你需要在悬停时隐藏box1并在鼠标悬停时显示

 $("#container").hover(function () {
        $('#box1').hide();
        $('.box').show();     
   },
  function () {
       $('.box').hide();     
       $('#box1').show();
   });

和你的HTML

<div id="box1">
<h1>Share it!</h1>
</div>    

<div class="box" style="display:none">
<a href="#" class="bt btleft">Facebook Button here</a>
<a href="#" class="bt btright">Twitter Button here</a>
</div>

答案 3 :(得分:0)

这对你有用吗?我认为它很简单,适合你

http://jsfiddle.net/mztcn/

$("#container").hover(function () {
    $(".box").css("visibility", "visible");
}, function () {
    $(".box").css("visibility", "hidden");
});