我写了下面的代码。这样当我的鼠标悬停到imgforplaces_thumbnail
时。 div checkbutton
将显示并叠加在div testtest
上。
但是,div checkbutton
只会出现1-2秒,然后消失。如果我删除位置:绝对;在div testtest
中的css中,div checkbutton
会显示在其下方。
谁能告诉我为什么它只能工作1-2秒?
我有两个div,.testtest
和.checkbutton
,它们由.imgforplaces_thumbnail1包装。
这些是div:
echo '<div class=imgforplaces_thumbnail1 id=imgforplaces_thumbnail>';
echo '<div class=testtest>';
echo "<a class='ajax' href='image_color_box.php?id=".$row['id']."' title='Homer Defined'>";
echo "<img src='../imgforplaces_thumbnail/" . $row['location_name'] . ".png' />";
echo '</a>';
echo '</div>';
echo '<div class=checkbutton><img src="../images/fbloginbutton.png" /></div>';
echo '</div>';
css如下:
#imgforplaces_thumbnail {
border: 10px solid #EEEEEE;
float: left;
margin: 20px;
outline: 1px solid #CFCFCF;
width: 300px;
height: 225px;
}
.checkbutton {
height: 40px;
width: 209px;
z-index: 2000;
margin: 0 auto;
}
.testtest {
position: absolute;
}
jquery悬停功能:
$(document).ready(function(){
$(".checkbutton").hide();
$(".imgforplaces_thumbnail1").hover(function(){
$(".checkbutton", this).fadeIn("slow");
},
function(){
$(".checkbutton", this).fadeOut("slow");
});
});
答案 0 :(得分:0)
您还可以尝试设置淡入和淡出的特定时间跨度值,而不是使用硬编码的慢速和快速属性 像这样
$(document).ready(function(){
$(".checkbutton").hide();
$(".imgforplaces_thumbnail1").hover(function(){
$(".checkbutton", this).fadeIn(200,function(){
//you can do something here
$("#yourimage").show();
});
},
function(){
$(".checkbutton", this).fadeOut(200,function(){
$("#yourimage").show();
});
});
});
有关详细信息,请参阅the documentation
答案 1 :(得分:0)
你可以用CSS做到这一点,这总是比用JavaScript做这种事情更好。
.checkbutton {
height: 40px;
width: 209px;
z-index: 2000;
margin: 0 auto;
/*
* Note that I have added a transition and opacity
*/
transition:200ms;
opacity:0;
}
.imgforplaces_thumbnail1:hover .checkbutton{
opacity:1;
}
上面我们在.imgforplaces_thumbnail1元素上使用CSS :hover 伪类,然后当鼠标悬停在父元素上时,我们正在影响.checkbutton的不透明度。
更深入研究:hover伪类阅读:this blog post
这将产生相同的效果,因为当您将鼠标悬停在imageforplaces_thumbnail1上时,它会使不透明度变为1,转换为200毫秒
以下是一个jsFiddle,它将向您展示如何使用CSS和HTML:click here
答案 2 :(得分:0)
我想我知道问题出在哪里:
“testtest”和“checkbutton”都必须放置位置:绝对;
解决了我的问题。感谢大家的宝贵意见!