jQuery:悬停时更改img

时间:2012-06-06 07:33:43

标签: jquery background hover

我正在使用jQuery背景拉伸器,其中背景设置为图像,id =“bg”就在身体后面。但是当有人用class = selector和alt = pathToImage悬停div时,我想改变背景图像。 我知道alt不是最好在div中使用,但我需要找到一个“容器”来存储路径。

background-stretcher完全符合它的要求,但是当我悬停某些东西时,它会将背景图像设置为display =“none”。 我真的希望有人可以帮助我。

代码是:

$(window).load(function(){
$('.selector').hover(function() {
    var img = document.createElement('img');
    img.src = $(this).attr('alt');
    img.onload = function() {
        $('#bg').fadeOut(function() {
            $(this).setAttribute('src', img.src).fadeIn();
        }); }; return false; }); });

提前谢谢你:)

EDIT! 很抱歉花了这么长时间,但让HTML变得不那么痛苦了: http://jsfiddle.net/gaFfD/ 由于一些奇怪的原因,悬停效应在jsfiddle中不起作用。

1 个答案:

答案 0 :(得分:0)

<强>更新

试试这个小提琴:http://jsfiddle.net/gaFfD/14/

应该是

$(this).attr('src', img.src).fadeIn()

而不是

$(this).setAttribute('src', img.src).fadeIn();

我用过

jQuery(document).ready(function () {

而不是

$(window).load(function() {

文档就绪和窗口加载之间的区别: window.onload vs $(document).ready()