好的,所以我想要有以下内容:当我悬停一个元素时,另一个元素应该是动画的。但到目前为止,这一直无济于事。我是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>
答案 0 :(得分:1)
如果您正在寻找从一张背景图片到另一张背景图片的淡入淡出过渡,则无法使用.animate()
进行此操作。有关淡入淡出过渡解决方案,请参阅transition background-image/css change on hover?。
此外,您可能需要新网址的正确CSS声明:backgroundImage: "url(images/site1large.png)"
。但是.animate()
可能只会立即切换到新图像。