Javascript:悬停时如何影响其他元素?

时间:2012-02-09 09:33:22

标签: javascript jquery element

好的,所以我想要有以下内容:当我悬停一个元素时,另一个元素应该是动画的。但到目前为止,这一直无济于事。我是javascript / jquery的新手,所以请不要苛刻:p

javascript / jquery:

$("block").hover(function(){ 
    $(this).find("site").stop(true, false).fadeTo("slow", 0.2);

    $(this).find("textOnImage").stop(true, false).animate({ 
        opacity: "1"
    }, "slow");

    var id = jQuery(this).attr("id");
    if (id == "site1") {
        $("siteLarge").animate({
            backgroundImage: "images/site1large.png"
        }, "slow"); 
    } else if (id == "site2") {
        $("siteLarge").animate({
            backgroundImage: "images/site2large.png"
        }, "slow");
    } else if (id == "site3") { 
        $("siteLarge").stop(true, false).animate({
            backgroundImage: "images/site1large.png"
        }, "slow");
    }
}, function() {         
    $(this).find("site").stop(true, false).fadeTo("slow", 1);
    $(this).find("textOnImage").stop(true, false).animate({ 
        opacity: "0"
    }, "slow");
});

我已经通过警报和来源识别工作对其进行了测试。但是,'siteLarge'不受此影响。

html:

<div id="centerBlock">
        <block id="site1">
            <site style="position: absolute; margin-left: 10px; margin-top: 10px; border: 1px solid black;">
                <img src="./images/site1.png" alt="some_text"/>
            </site>
            <textOnImage style="position: absolute; margin-left: 10px; margin-top: 10px;">
                Mijn eerste site. Best wel leeg, maar een leuk begin. Een combinatie van html en css.
            </textOnImage>
        </block>

        <block id="site2">
            <site style="position: absolute; margin-left: 10px; margin-top: 163px; border: 1px solid white;">
                <img src="./images/site2.png" alt="some_text"/>
            </site>
            <textOnImage style="position: absolute; margin-left: 10px; margin-top: 163px;">
                Mijn tweede site. Een hele grote vooruitgang ten opzichte van mijn eerste site! Hier wordt interactieve css toegepast.
            </textOnImage>
        </block>

        <block id="site3">
            <site style="position: absolute; margin-left: 10px; margin-top: 316px; border: 1px solid black;">
                <img src="./images/site3.png" alt="some_text"/>
            </site>
            <textOnImage style="position: absolute; margin-left: 10px; margin-top: 316px;">
                Toekomstige plannen: <br> php, msql, ajax.
            </textOnImage>
        </block>

        <large>
            <siteLarge style="position: absolute; margin-left: 250px; margin-top: 10px;">
            </siteLarge>
        </large>

    </div>

1 个答案:

答案 0 :(得分:1)

如果您正在寻找从一张背景图片到另一张背景图片的淡入淡出过渡,则无法使用.animate()进行此操作。有关淡入淡出过渡解决方案,请参阅transition background-image/css change on hover?

此外,您可能需要新网址的正确CSS声明:backgroundImage: "url(images/site1large.png)"。但是.animate()可能只会立即切换到新图像。