javascript - 单击图像悬停时显示的文本

标签 javascript jquery html css

我有this jsfiddle .

  • 我想在图像悬停时显示文本(使用 .animate)。
  • 当文本显示并悬停时,用户可以点击它。
  • 当文本和图像都没有悬停时,文本淡出。
  • 用户必须先悬停图像才能悬停文本。

有人可以帮我做吗?

这是我做的:

html:

<div id="container">
    <img src="blabla.jpg" />
    <p id="p1"> click here ! </p>
</div>

j查询:

$(document).ready(function(){
                                        // on img hover
    $("img").hover(function() {
        $(this).next().animate({            // Change p1 style
            'opacity': '1',
            top: "+=10px"},
        200);
                                        // Non hovered   
    }, function() {
        $(this).next().animate({           // Restore p1 style
            'opacity': '0',
            top: "-=10px"},
        200);
    });


    $('#p1').hover(function() {    // On p1 hover
        $(this).next().css({          // change p1 style
            'opacity': '1',
            top: "-51px"});
    }, function() {                // Non hovered
        $(this).next().css({
            'opacity': '0',          // restore p1 style
            top: "-41px"});
    });

});

简单的CSS:

#container{
    position:relative;
    top: 20px;
    left:20px;
    width:110px;
    height:110px;
}

#p1{
    position:relative;
    color:white;
    width:110px;
    text-align:center;
    margin-left:-55px;
    left:50%;
    background-color: navy;
    height:20px;
    opacity:0;
    top: -129px;
}

最佳答案

我仅使用 CSS 完成了此操作。更易于使用。

.box{
  background:red;
  width:100px;
  height:100px;
  position:relative;
}

.box:hover a{
  top:10px;
  opacity:1;
}

a{
    -webkit-transition:all .4s;
    -moz-transition:all .4s;
    -o-transition:all .4s;
    -ms-transition:all .4s;
    transition:all .4s;
  background:blue;
  color:#fff;
  position:absolute;
  top:0;
  left:0;
  right:0;
  text-align:center;
  opacity:0;
}
<div class="box">
  <a href="http://google.co.uk">Click Me!</a>
</div>

上面代码的链接:
CodePen JSFiddle

看看Mr. Alien对此的更高级版本的评论。

关于javascript - 单击图像悬停时显示的文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21939981/

相关文章:

javascript - JSONP 并反对这个

jquery - 如何将 html 表格行传递到 DataTable.net fnAddData

jquery - 多个 $(document).ready 函数

javascript - Jquery JSON .each() 在 Google Chrome 中不起作用

javascript - 从 Array of Array(嵌套的对象数组)中删除重复项

jquery - 将 noUISlider 与 Rails 一起使用

javascript - JS这个函数有问题

html - iPhone 6、iPhone 6 Plus 中 apple-touch-startup-image 的正确尺寸?

javascript - XMLHttpRequest 不发送 POST 数据

javascript - 使用动态父子复选框的问题