我使用以下脚本,并且有占位符div。当我鼠标悬停时,div播放按钮应该超过占位符。
我连续三个占位符。当鼠标悬停在一个特定占位符上时,将显示所有播放按钮。我需要的是当鼠标悬停在占位符上时,只显示播放图像。
希望你能理解我的问题。有人可以帮我这么做吗?
jQuery.noConflict();
jQuery(function(){
jQuery('.placeholder').mouseover(function(){
jQuery('.play').show('show');
});
jQuery('.placeholder').mouseleave(function(){
jQuery('.play').hide('hide');
});
});
HTML:
<div class="placeholder item"><div class="play"><img src="images/play_ico.jpg"></div></div>
<div class="placeholder item"><div class="play"><img src="images/play_ico.jpg"></div></div>
<div class="placeholder item"><div class="play"><img src="images/play_ico.jpg"></div></div>
CSS:
.placeholder{
width:120px;
float:left;
background:#ccc;
height:67px;
position:relative;
}
.play{
width:120px;
height:67px;
position:absolute;
top:0;
left:0;
display:none;
background:#000;
opacity:0.4;
filter:alpha(opacity=40);
}
答案 0 :(得分:5)
尝试以下方法:
jQuery('.placeholder').mouseenter(function(){
jQuery(this).find('.play').show();
});
jQuery('.placeholder').mouseleave(function(){
jQuery(this).find('.play').hide();
});
作为替代方案,您可以使用hover
方法:
jQuery('.placeholder').hover(function() {
jQuery(this).find('.play').show();
}, function() {
jQuery(this).find('.play').hide();
})
答案 1 :(得分:2)
你确定你做得对吗,你真的需要使用noConflict吗?
jQuery(function(){
jQuery('.placeholder').on({
mouseenter: function(){
jQuery('.play', this).show('slow');
},
mouseleave: function() {
jQuery('.play', this).hide('slow');
}
});
});
或只是
jQuery('.placeholder').on('mouseenter mouseleave', function() {
jQuery('.play', this).toggle();
});
答案 2 :(得分:0)
尝试
jQuery('.play').show();
和
jQuery('.play').hide();
除非您希望它们进出动画,否则请使用
jQuery('.play').show('slow');
和
jQuery('.play').hide('slow');
或同等的:)