我有一个上面有边框的图像,我想要一个在悬停图像时在它们之间“滑动”的标题。我只是无法让它按我想要的方式工作,我所拥有的是:
<!DOCTYPE html>
<html>
<head>
<meta content="text/html;charset=utf-8" http-equiv="Content-Type">
<meta content="utf-8" http-equiv="encoding">
<link href="style.css" rel="stylesheet" type="text/css" />
<script src="http://ajax.aspnetcdn.com/ajax/jQuery/jquery-1.7.2.min.js " type="text/javascript"></script>
<script src="http://ajax.aspnetcdn.com/ajax/jquery.validate/1.9/jquery.validate.min.js" type="text/javascript"></script>
<script src="http://ajax.aspnetcdn.com/ajax/mvc/3.0/jquery.validate.unobtrusive.js" type="text/javascript"></script>
<script type="text/javascript">
$(document).ready(function(){
$('.boxGrid').hover(function(){
$('.boxCaption', this).stop().animate({bottom:'0px'},{queue:false,duration:300});
}, function() {
$('.boxCaption', this).stop().animate({bottom:'-121px'},{queue:false,duration:300});
});
});
</script>
</head>
<body>
<div class="wrapper">
<div class="boxGrid"></div>
<div class="buttonBack blogImg">
<div class="boxCaption">
<h3>Top-Blog</h3>
</div>
</div>
</div>
</body>
</html>
css
.wrapper
{
position: relative;
width: 226px;
height: 246px;
}
.boxGrid
{
width: 226px;
height: 246px;
background-image: url(http://s10.postimage.org/z2cp1i70p/button_Border.png);
position: absolute;
top: 0px;
left: 0px;
z-index: 100;
}
.buttonBack
{
position: absolute;
top: 12px;
left: 13px;
border: 0px;
width: 200px;
height: 223px;
z-index: 50;
overflow: hidden;
}
.blogImg
{
background-image: url(http://s10.postimage.org/jflfo4t8p/blog_Button.png);
}
.boxCaption
{
position: absolute;
background: url(http://s10.postimage.org/c2an2wykp/caption.png);
height: 121px;
width: 100%;
bottom: -121px;
text-align: center;
}
.boxCaption h3
{
font-size: 30px;
color: #fff;
}
但是当我像这样编辑 html 和 jQuery 时,它可以工作:
<!DOCTYPE html>
<html>
<head>
<meta content="text/html;charset=utf-8" http-equiv="Content-Type">
<meta content="utf-8" http-equiv="encoding">
<link href="style.css" rel="stylesheet" type="text/css" />
<script src="http://ajax.aspnetcdn.com/ajax/jQuery/jquery-1.7.2.min.js " type="text/javascript"></script>
<script src="http://ajax.aspnetcdn.com/ajax/jquery.validate/1.9/jquery.validate.min.js" type="text/javascript"></script>
<script src="http://ajax.aspnetcdn.com/ajax/mvc/3.0/jquery.validate.unobtrusive.js" type="text/javascript"></script>
<script type="text/javascript">
$(document).ready(function(){
$('.buttonBack').hover(function(){
$('.boxCaption', this).stop().animate({bottom:'0px'},{queue:false,duration:300});
}, function() {
$('.boxCaption', this).stop().animate({bottom:'-121px'},{queue:false,duration:300});
});
});
</script>
</head>
<body>
<div class="wrapper">
<!--<div class="boxGrid"></div>-->
<div class="buttonBack blogImg">
<div class="boxCaption">
<h3>Top-Blog</h3>
</div>
</div>
</div>
</body>
</html>
我所做的是注释div.boxGrid
out 并让 jQuery 函数在悬停div.buttonBack
在div.boxGrid
. 只是这不是我想要的,我希望div.boxGrid
它高于一切,所以我在悬停时得到了这种效果。
我做了一个jsFiddle,在这里它不起作用,但是像这样它起作用了......
任何帮助将不胜感激,我正在把头发拉出来。