jQuery的图像叠加?

如何解决jQuery的图像叠加?

| 我正在使用jquery将右上角的图像叠加到另一张图像上。 基本上,我希望当用户的鼠标悬停在图像上方时,第二个图像显示在右上角的另一个图像上,然后在他们停止将鼠标悬停在其上方时消失。我将如何使用Jquery做到这一点?     

解决方法

@Senad是非常正确的,您不需要jQuery。但是,如果情况更复杂并且正在寻找类似的功能,请尝试: 将它们包装在一个包含元素中。将包含元素设置为
position:relative
将覆盖图像设置为
position:absolute; top:0; left:0;
,并根据需要设置高度和宽度的样式...然后使用jQuery处理悬停事件... HTML:
<div>
    <img id=\"main\" src=\"myimg\" />
    <img id=\"overlay\" src=\"myimg\"
    /></div>
CSS:
    div {
     position:relative;   
    }
    #main {   
        width:256px;
     div {
 position:relative;   
}

#main {   
    width:256px;
    height:256px;
}
#overlay {
 position:absolute;
  height:100px;
   width:100px;
   top:0;
   left:0; 
}
码:
$(document).ready(function() {
    $(\"#main\").mouseenter(function() {
               $(\"#overlay\").show();
    });
    $(\"#main\").mouseleave(function() {
               $(\"#overlay\").hide();
    });
});
在此处查看工作示例:http://jsfiddle.net/jsney/10/     ,您不需要jQuery,可以使用CSS,例如
<a href=\"#\" class=\"my-overlay\">My Overlay</a>
的CSS
a.my-overlay {
background: url(\'/images/first-image.jpg\') no-repeat; 
width: 100px;/*width: of image*/;
height: 100px;/*height of image*/;
display: block;
text-indent: -1000px;
overflow: hidden;
}
a.my-overlay:HOVER {background: url(\'/images/second-image.jpg\') no-repeat; }
这是更容易的解决方案,每个人都可以接受。     ,假设您的第一张图片包裹在div中。 1 /添加另一个具有\“ display:none \”样式和您选择的类的div 2 /悬停时,将img(如果之前未完成)加载到div 3 / slide切换包含第二个图像的div,瞧!
$(\'div .firstImage\').hover(function(){
    $(\'.secondImage\').slideToggle();
});
当然,您需要为包含第二个图像的div设置适当的定位样式。     ,这是我按照上面托马斯代码编写的一种简单方法。 以我为例,我想在图片上放置一个叠加层(基本上是带有大加号的灰色框),以显示该图片可点击并放大灯箱中的缩略图。 我需要大量使用,而不是使用ID类。 我的图像和覆盖图像的尺寸相同。 .hide只隐藏覆盖,直到显示悬停功能为止。 我没有显示灯箱广告,因此对于此问题更清楚。 注意,a.hoverTrigger也会包装.overlay img。 如果不这样做,您将获得可怕的闪烁效果。 标记:
<div class=\"merchImg\">
<a href=\"#\" class=\"hoverTrigger\"><img src=\"_img/_new-store/item.png\" /></a>
<a href=\"#\" class=\"hoverTrigger\"><img class=\"overlay hide\" src=\"_img/_new-store/overlay.png\" /></a>
</div>
CSS:
.merchImg {
position: relative;
}
.merchImg .overlay {
position: absolute;
top:0;
left:0;
}
jQuery的:
$(\".hoverTrigger\").mouseenter(function() {
    $(this).parent().find(\'a .overlay\').show();
});
$(\".hoverTrigger\").mouseleave(function() {
    $(this).parent().find(\'a .overlay\').hide();
});
    ,我们还可以使用\“ jquery.ImageOverlay.js \”插件来实现此目的。 这是一个例子。 ASPX代码:
<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">
<html xmlns=\"http://www.w3.org/1999/xhtml\">
<head runat=\"server\">
    <title></title>
    <link rel=\"stylesheet\" media=\"screen\" type=\"text/css\" href=\"Styles/ImageOrverlay.css\" />
    <script type=\"text/javascript\" src=\"Scripts/jquery-1.8.3.min.js\"></script>
    <script type=\"text/javascript\" src=\"Scripts/jquery.metadata.js\"></script>
    <script type=\"text/javascript\" src=\"Scripts/jquery.ImageOverlay.js\"></script>
</head>
<body>
    <form id=\"form1\" runat=\"server\">
    <h1>
        jQuery Image Overlay</h1>
    <fieldset>
        <legend><b>Without any options : </b></legend>
        <ul id=\"firstGallery\" class=\"image-overlay\">
            <li><a href=\"http://www.yahoo.com\">
                <img alt=\"Palm Tree\" src=\"Images/palmtree.jpg\" />
                <div class=\"caption\">
                    <h3>
                        Write a Title Here</h3>
                    <p>
                        Put a Caption Here</p>
                </div>
            </a></li>
            <li><a href=\"http://www.google.com\">
                <img alt=\"Iguana\" src=\"Images/iguana.jpg\" />
                <div class=\"caption\">
                    <h3>
                        Another Title</h3>
                    <p>
                        click for more info</p>
                </div>
            </a></li>
            <li><a href=\"http://www.google.com\">
                <img alt=\"Ceynote\" src=\"Images/ceynote.jpg\" />
                <div class=\"caption\">
                    <h3>
                        Just a Title Here</h3>
                </div>
            </a></li>
        </ul>
    </fieldset>
    <br />
    <br />
    <fieldset>
        <legend><b>With options set (border_color,overlay_origin,overlay_color,and overlay_text_color,overlay_speed,overlay_speed_out) : </b></legend>
        <ul id=\"secondGallery\" class=\"image-overlay\">
            <li><a href=\"http://www.mozilla.com/\">
                <img alt=\"firefox\" src=\"Images/firefox-512-200x200.png\" />
                <div class=\"caption\">
                    <h3>
                        Get Firefox</h3>
                </div>
            </a></li>
            <li><a href=\"http://www.mozilla.com/\">
                <img alt=\"jungle\" src=\"Images/jungle.jpg\" />
                <div class=\"caption\">
                    <h3>
                        Tall Overlay</h3>
                    <p>
                        The overlay height is based upon the content it contains</p>
                </div>
            </a></li>
        </ul>
    </fieldset>
    <br />
    <br />
    <fieldset>
        <legend><b>Advanced Usage,utilizing the <a href=\"http://plugins.jquery.com/project/metadata\">
            metadata plugin</a> : </b></legend>
        <ul id=\"thirdGallery\" class=\"image-overlay { overlay_speed: \'slow\' }\">
            <li><a class=\"{ animate: false,overlay_origin: \'top\' }\" href=\"http://www.balupton.com/sandbox/jquery_lightbox_bal/demo/\">
                <img alt=\"bamboo\" src=\"Images/bamboo.jpg\" />
                <div class=\"caption\">
                    <h3>
                        Connect to a Lightbox</h3>
                    <p>
                        overlay origin is overridden,not animated</p>
                </div>
            </a></li>
            <li><a class=\"{ overlay_speed: \'fast\',overlay_speed_out: \'slow\' }\" href=\"http://www.mozilla.com\">
                <img alt=\"Ships\" src=\"Images/josh-ships.jpg\" />
                <div class=\"caption\">
                    <h3>
                        &#39;Ships&#39; by Josh Neal</h3>
                    <p>
                        different in/out speeds</p>
                </div>
            </a></li>
            <li><a class=\"{ border_color: \'green\',overlay_color: \'#ccffcc\',overlay_text_color: \'green\',overlay_speed: \'fast\',always_show_overlay: true }\"
                href=\"http://www.mozilla.com/\">
                <img alt=\"cypress\" src=\"Images/cypress.jpg\" />
                <div class=\"caption\">
                    <h3>
                        Digg This!</h3>
                    <p>
                        colors,overlay speed overridden,overlay always open</p>
                </div>
            </a></li>
        </ul>
    </fieldset>
    <script type=\"text/javascript\">
        // JavaScript for the Image Overlay galleries.
        $(\"#firstGallery\").ImageOverlay();
        $(\"#secondGallery\").ImageOverlay({ border_color: \"#FF8000\",overlay_color: \"#610B38\",overlay_origin: \"top\",overlay_text_color: \"#FF8000\",overlay_speed_out: \'slow\' });
        $(\"#thirdGallery\").ImageOverlay();
    </script>
    </form>
</body>
</html>
================================================== ========================= CSS:
.image-overlay { list-style: none; text-align: left; }
.image-overlay li { display: inline; }
.image-overlay a:link,.image-overlay a:visited,.image-overlay a:hover,.image-overlay a:active { text-decoration: none; }
.image-overlay a:link img,.image-overlay a:visited img,.image-overlay a:hover img,.image-overlay a:active img { border: none; }

.image-overlay a
{
    margin: 9px;
    float: left;
    background: #fff;
    border: solid 2px;
    overflow: hidden;
    position: relative;
}
.image-overlay img
{
    position: absolute;
    top: 0;
    left: 0;
    border: 0;
}
.image-overlay .caption
{
    float: left;
    position: absolute;
    background-color: #000;
    width: 100%;
    cursor: pointer;
    /* The way to change overlay opacity is the follow properties. Opacity is a tricky issue due to
        longtime IE abuse of it,so opacity is not offically supported - use at your own risk. 
        To play it safe,disable overlay opacity in IE. */
    /* For Firefox/Opera/Safari/Chrome */
    opacity: .8;
    /* For IE 5-7 */
    filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=80);
    /* For IE 8 */
    -MS-filter: \"progid:DXImageTransform.Microsoft.Alpha(Opacity=80)\";
}
.image-overlay .caption h1,.image-overlay .caption h2,.image-overlay .caption h3,.image-overlay .caption h4,.image-overlay .caption h5,.image-overlay .caption h6
{
    margin: 10px 0 10px 2px;
    font-size: 20px;
    font-weight: bold;
    padding: 0 0 0 5px;
}
.image-overlay p
{
    text-indent: 0;
    margin: 10px;
    font-size: 1em;
}
资料下载: 访问此链接以多种方式下载.js文件和图像文件以及实时实施示例。 http://jayeshsorathia.blogspot.com/2012/12/image-overlay-using-jquery-plugin-with-asp-net.html     

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其他元素将获得点击?
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。)
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbcDriver发生异常。为什么?
这是用Java进行XML解析的最佳库。
Java的PriorityQueue的内置迭代器不会以任何特定顺序遍历数据结构。为什么?
如何在Java中聆听按键时移动图像。
Java“Program to an interface”。这是什么意思?
Java在半透明框架/面板/组件上重新绘画。
Java“ Class.forName()”和“ Class.forName()。newInstance()”之间有什么区别?
在此环境中不提供编译器。也许是在JRE而不是JDK上运行?
Java用相同的方法在一个类中实现两个接口。哪种接口方法被覆盖?
Java 什么是Runtime.getRuntime()。totalMemory()和freeMemory()?
java.library.path中的java.lang.UnsatisfiedLinkError否*****。dll
JavaFX“位置是必需的。” 即使在同一包装中
Java 导入两个具有相同名称的类。怎么处理?
Java 是否应该在HttpServletResponse.getOutputStream()/。getWriter()上调用.close()?
Java RegEx元字符(。)和普通点?