我正在尝试使用两个叠加图像在图像上显示其他信息。 在鼠标悬停overlay1将显示在主图像的左上角,overlay2将显示在右下角..
当我尝试在单个图像上执行此操作时,它可以正常工作.. 但是当我继续在图像库中进行操作时,叠加图像会显示在屏幕的左上角和右下角..
我希望图像叠加在相应的主图像上。
这是html -
<div id="WhizIt">
<div id="btpanelexsmall">
<h3>Heading1</h3>
<ul >
<li><a href=""><img src="image/" class="wit"/><img class="overlay"
src="image/top-left.jpg"/>
<img class="overly" src="image/bottom-right.jpg"/></a></li>
<li><a href=""><img src="images/" class="wit" /><img class="overlay"
src="image/top-left.jpg"/>
<img class="overly" src="image/bottom-right.jpg"/></a></li>
<li><a href=""><img src="images/" class="wit" /><img class="overlay"
src="image/top-left.jpg"/>
<img class="overly" src="image/bottom-right.jpg"/></a></li>
<li><a href=""><img src="images/" class="wit" /><img class="overlay"
src="image/top-left.jpg"/>
<img class="overly" src="image/bottom-right.jpg"/></a></li>
<li><a href=""><img src="images/" class="wit" /><img class="overlay"
src="image/top-left.jpg"/>
<img class="overly" src="image/bottom-right.jpg"/></a></li>
<li><a href=""><img src="images/" class="wit" /><img class="overlay"
src="image/top-left.jpg"/>
<img class="overly" src="image/bottom-right.jpg"/></a></li>
</ul><br>
<ul>
<li><a href=""><img src="images/" class="wit" /><img class="overlay"
src="image/top-left.jpg"/>
<img class="overly" src="image/bottom-right.jpg"/></a></li>
<li><a href=""><img src="images/" class="wit" /><img class="overlay"
src="image/top-left.jpg"/>
<img class="overly" src="image/bottom-right.jpg"/></a></li>
<li><a href=""><img src="images/" class="wit" /><img class="overlay"
src="image/top-left.jpg"/>
<img class="overly" src="image/bottom-right.jpg"/></a></li>
<li><a href=""><img src="images/" class="wit" /><img class="overlay"
src="image/top-left.jpg"/>
<img class="overly" src="image/bottom-right.jpg"/></a></li>
<li><a href=""><img src="images/" class="wit" /><img class="overlay"
src="image/top-left.jpg"/>
<img class="overly" src="image/bottom-right.jpg"/></a></li>
<li><a href=""><img src="images/arrow1.jpg" class="wit" /><img class="overlay"
src="image/top-left.jpg"/>
<img class="overly" src="image/bottom-right.jpg"/></a></li>
</ul>
</div>
</div>
脚本是 -
<script src="js/jquery.min.js" type="text/javascript"></script>
<script type="text/javascript">
$(document).ready(function() {
$('ul li').mouseenter(function() {
$(this).find(".overlay").show();
$(this).find(".overly").show();
});
$('ul li').mouseleave(function() {
$(this).find(".overlay").hide();
$(this).find(".overly").hide();
});
});
</script>
和css -
.WhizIt li{position:relative;
float:left;
padding-left:5px;
list-style:none;}
.overlay
{
position:absolute;
height:50px;
width:150px;
top:0;
left:0;
display:none;}
.overly
{
position:absolute;
height:50px;
width:150px;
bottom:0;
right:0;
display:none;}
#btpanelexsmall{height:390px;
margin:0px;
padding:0px;
-moz-border-radius: 10px;
-webkit-border-radius: 10px;
border-radius: 10px; /* future proofing */
border:2px solid yellow;
background: #f0f0f0;}
我的页面上有很多画廊!! 提前谢谢
答案 0 :(得分:0)
我认为你的第一个问题已经解决了。现在给叠加图像赋予'旋转'效果使用css3动画。我们也可以用jquery来做,但我认为使用css3会很好。
对于此效果,请使用以下脚本: -
$(document).ready(function() {
$('ul li').mouseenter(function() {
$(this).find(".overlay").show().addClass('rotate');
$(this).find(".overly").show().addClass('rotate');
});
$('ul li').mouseleave(function() {
$(this).find(".overlay").hide().removeClass('rotate');
$(this).find(".overly").hide().removeClass('rotate');
});
});
添加此css: -
.rotate {
-webkit-animation: rotateImg 1s linear;
-moz-animation: rotateImg 1s linear;
-ms-animation: rotateImg 1s linear;
-o-animation: rotateImg 1s linear;
animation: rotateImg 1s linear;
}
@keyframes "rotateImg" {
50% {
-webkit-transform: rotate(180deg);
-moz-transform: rotate(180deg);
-o-transform: rotate(180deg);
-ms-transform: rotate(180deg);
transform: rotate(180deg);
}
100% {
-webkit-transform: rotate(360deg);
-moz-transform: rotate(360deg);
-o-transform: rotate(360deg);
-ms-transform: rotate(360deg);
transform: rotate(360deg);
}
}
@-moz-keyframes "rotateImg" {
50% {
-moz-transform: rotate(180deg);
transform: rotate(180deg);
}
100% {
-moz-transform: rotate(360deg);
transform: rotate(360deg);
}
}
@-webkit-keyframes "rotateImg" {
50% {
-webkit-transform: rotate(180deg);
transform: rotate(180deg);
}
100% {
-webkit-transform: rotate(360deg);
transform: rotate(360deg);
}
}
@-ms-keyframes "rotateImg" {
50% {
-ms-transform: rotate(180deg);
transform: rotate(180deg);
}
100% {
-ms-transform: rotate(360deg);
transform: rotate(360deg);
}
}
@-o-keyframes "rotateImg" {
50% {
-o-transform: rotate(180deg);
transform: rotate(180deg);
}
100% {
-o-transform: rotate(360deg);
transform: rotate(360deg);
}
}
答案 1 :(得分:0)
试用此代码:
<div id="WhizIt">
<div id="btpanelexsmall">
<h3>Heading1</h3>
<ul >
<li><a href=""><img class="overly_left" src="image/top-left.jpg"/></a></li>
<li><a href=""><img class="overly_left" src="image/top-left.jpg"/></a></li>
<li><a href=""><img class="overly_left" src="image/top-left.jpg"/></a></li>
<li><a href=""><img class="overly_left" src="image/top-left.jpg"/></a></li>
</ul><br>
<ul>
<li><a href=""><img class="overly" src="image/bottom-right.jpg"/></a></li>
<li><a href=""><img class="overly" src="image/bottom-right.jpg"/></a></li>
<li><a href=""><img class="overly" src="image/bottom-right.jpg"/></a></li>
<li><a href=""><img class="overly" src="image/bottom-right.jpg"/></a></li>
</ul>
</div>
</div>
<script src="http://code.jquery.com/jquery-1.10.1.min.js"></script>
<script type="text/javascript">
$(document).ready(function() {
$('ul li').mouseenter(function() {
$(this).find(".overlay").show();
$(this).find(".overly_left").show();
$(this).find(".overly").show();
});
$('ul li').mouseleave(function() {
$(this).find(".overlay").hide();
$(this).find(".overly_left").hide();
$(this).find(".overly").hide();
});
});
</script>
<style>
.WhizIt li{position:relative;
float:left;
padding-left:5px;
list-style:none;}
.overlay
{
position:absolute;
height:50px;
width:150px;
top:0;
left:0;
display:none;}
.overly_left
{
position:absolute;
height:50px;
width:50px;
top:0;
left:0;
display:none;}
.overly
{
position:absolute;
height:50px;
width:50px;
bottom:0;
right:0;
display:none;}
#btpanelexsmall{height:390px;
margin:0px;
padding:0px;
-moz-border-radius: 10px;
-webkit-border-radius: 10px;
border-radius: 10px; /* future proofing */
border:2px solid yellow;
background: #f0f0f0;}
</style>