javascript - 悬停javascript上的图像叠加

标签 javascript jquery html css image

我正在尝试通过使用两个叠加图像在图像上显示附加信息。 鼠标悬停时,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;}

我的页面上有很多画廊!! 提前致谢

最佳答案

我认为您的第一个问题已解决。现在要为叠加图像提供“旋转”效果,请使用 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);
}

}

关于javascript - 悬停javascript上的图像叠加,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19950755/

相关文章:

javascript - 在不重新加载的情况下更改 HTML 页面上的特定元素

javascript - 带有 coffeescript 的 meteor 包(以及继承和严格模式)

jquery - 单击复选框标签时获取复选框值并从数组中添加/删除其值

html - 不使用 CSS 在视觉上重新排列 HTML 元素顺序的原因

javascript - 缓存刷新页面后 Bootstrap 工具提示不起作用

javascript - 如何获取子节点的nodeValue

Javascript 返回 -0

javascript - 如何在加载页面时显示 Bootstrap 3 弹出窗口然后隐藏

jquery - 检查页面中是否存在src

html - 为什么按 TAB 键不导致我页面上的链接为 "marked"?