【问题标题】:Changing text in h1 on img hover Jquery在img悬停Jquery上更改h1中的文本
【发布时间】:2013-11-04 13:09:11
【问题描述】:

我正在寻找 Jquery/Javascript 中的脚本,当鼠标悬停在图像上时可以更改 H1 的内容。

想象一下连续有 6 张不同的图像。悬停在图像上时,会发生 h1 的变化。

这是我能得到的最接近的,但我希望它在悬停时工作,而不是在点击时工作。

var random = Math.floor(Math.random() * 1000);
var $li = $("#gallery li");

$li.eq(random % $li.length).addClass("on");
$("h1").text($("img", ".on").attr("alt"));
$("#gallery li").click(function() {
    $("#gallery li").removeClass("on");
    $(this).addClass("on");
    $("h1").text($("img", ".on").attr("alt"));
});

【问题讨论】:

  • 我可以推荐你RTFM吗?

标签: jquery image hover


【解决方案1】:

尝试使用带有回调的hover

$("#gallery li").on('hover', function(e) {
  $("h1").text('Hovered');
 }, function () {
  $("h1").text('back to whatever'); 
});

【讨论】:

  • 我不太确定你的意思。链接到我的小提琴Fiddle Link
  • @user2952613 为淡入淡出效果,你可以使用 .fadeToggle() 如jsfiddle.net/CL9YZ/2
  • 有点迟钝,有时 h1 会分散。
【解决方案2】:

试试这个:

$(document).ready(function(){
    $('img').mouseover(function(){
        var altimg = $(this).attr('alt');
        $('h1').html(altimg);
    });
    $('img').mouseout(function(){
        $('h1').html('');
    });
});

【讨论】:

  • 我还有一个小问题,如果我想让文字在悬停时以一种很好的方式“淡出”?
【解决方案3】:

有淡化效果:

$(document).ready(function(){
    $('img').mouseover(function(){
        var altimg = $(this).attr('alt');
        $('h1').hide();
        $('h1').html(altimg);
        $('h1').fadeIn(300);
    });
    $('img').mouseout(function(){
        $('h1').fadeOut(300);
        $('h1').html('');
        $('h1').show();
    });
});

【讨论】:

    猜你喜欢
    • 2012-05-26
    • 2022-10-30
    • 2012-06-10
    • 1970-01-01
    • 2017-11-09
    • 2012-05-10
    • 1970-01-01
    • 2015-05-05
    • 1970-01-01
    相关资源
    最近更新 更多