龙盟编程博客 | 无障碍搜索 | 云盘搜索神器
快速搜索
主页 > web编程 > Javascript编程 >

推荐一款鼠标经过显示大图效果

时间:2012-12-29 08:41来源:未知 作者:admin 点击:
分享到:
很简单的一个效果,但效果很好看,就是当鼠标经过显示大图的这种效果,我想很多爱炫的朋友都玩过吧。 代码如下 !DOCTYPE html PUBLIC -//W3C//DTD XHTML 1.0 Transitional//EN http://www.w3.org/TR/xhtml
很简单的一个效果,但效果很好看,就是当鼠标经过显示大图的这种效果,我想很多爱炫的朋友都玩过吧。
 代码如下

<!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>
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
        <title>鼠标经过显示大图</title>
        <script type="text/javascript">
            window.onload = function(){
                var oPop = document.getElementById('pop-window');
                var oPopImg = oPop.getElementsByTagName('img')[0];
                var oImgList = document.getElementById('img-list');
                var aImgLi = oImgList.getElementsByTagName('li');
                var aImg = oImgList.getElementsByTagName('img');
                var timer;
                for(var i=0; i<aImgLi.length; i++){
                    aImgLi[i].index = i;

                    //给小图绑定事件
                    aImgLi[i].onmouseover = function(){
                       
                        this.style.borderColor = "#eee";
                        var oImgLi = this;
                        var oImg = new Image();
                        var Ssrc = aImg[this.index].src;   //获取小图的资源路径
                        oImg.src = Ssrc.replace(/_b_/, "_c_");
                       
                        //如果大图加载完成
                        oImg.onload = function(){
                            oPopImg.src = this.src;
                            timer = setTimeout(function(){
                                var xpos, ypos;
                                oPop.style.display = "block";
                                xpos = oImgLi.offsetLeft - (oPop.offsetWidth - oImgLi.offsetWidth) / 2;
                                ypos = oImgLi.offsetTop - (oPop.offsetHeight - oImgLi.offsetHeight) / 2;
                                (xpos < 0) && (xpos = 0);  //防止左溢出
                                (ypos < 0) && (ypos = 0);  //防止上溢出

                                //防止右溢出
                                (xpos > document.documentElement.offsetWidth - oPop.offsetWidth) &&
                                    (xpos = document.documentElement.offsetWidth - oPop.offsetWidth);
                                //防止下溢出
                                (ypos > document.documentElement.offsetHeight - oPop.offsetHeight) &&
                                        (ypos = document.documentElement.offsetHeight - oPop.offsetHeight);
                                oPop.style.top =  ypos + 'px';
                                oPop.style.left = xpos+ 'px';
                            }, 300);
                        };
                    };

                    aImgLi[i].onmouseout = function(){
                        clearTimeout(timer);
                        this.style.borderColor = "#666";                     
                    };
                }

                //给弹出大图框绑定事件
                oPop.onmouseover = function(){
                    if(oPop.style.display === "none"){
                        oPop.style.display = "block";
                    }
                };
                oPop.onmouseout = function(){
                    oPop.style.display = "none";
                };
               
            }
        </script>
        <style type="text/css">
            *{
                margin:0;
                padding:0;
            }
            a{text-decoration:none;}
            body{
                background:#1E1E1E;
                font: 12px "宋体" ;
            }
            #wrapper{margin:0px auto;width:1150px;_height:1%;overflow:hidden;}
            #img-list{list-style:none;margin:150px 0;float:left;}
            #img-list li{
                background:#090909;
                display:inline-block;
                width:200px;
                height:163px;
                float:left;
                border:1px solid #666;
                padding:5px;
                border-radius:4px;
                margin:15px 10px 0px 0px;
                box-shadow:3px 3px 5px #090909;
            }
            #img-list li a img{
                width:200px;
                height:163px;
                display:block;
                border:none;
            }
            #pop-window{
                padding:15px;
                background:url("http://wheato.com/wp-content/uploads/2011/10/winbg.png") repeat;
                position:absolute;
                border-radius:8px;
                display:none;
            }
            #pop-window a img{border:none;}
            #pop-list{
                color:#666;
                margin-top:30px;
            }
            #pop-list #pop-info{list-style:none;line-height:20px;}
            #pop-list #pop-info li a{margin:0 10px 0px 15px;color:#fff;}
            #pop-list #pop-info li a:hover {text-decoration:underline;}
            #author-info{
                clear:both;
                color:#fff;
                font-size:16px;
                margin-bottom:18px;
                text-align:center;
            }
            #author-info a{background:#eee;color:#333;padding:2px;}
        </style>
    </head>
    <body>
        <div id="wrapper">
            <ul id="img-list">
                <li><a href=""><img src="/thumb/21/60347/thumb_b_60347.jpg"/></a></li>
                <li><a href=""><img src="/thumb/21/60346/thumb_b_60346.jpg"/></a></li>
                <li><a href=""><img src="/thumb/21/60345/thumb_b_60345.jpg"/></a></li>
                <li><a href=""><img src="/thumb/21/60344/thumb_b_60344.jpg"/></a></li>
                <li><a href=""><img src="/thumb/21/60343/thumb_b_60343.jpg"/></a></li>
                <li><a href=""><img src="/thumb/21/60342/thumb_b_60342.jpg"/></a></li>
                <li><a href=""><img src="/thumb/21/60341/thumb_b_60341.jpg"/></a></li>
                <li><a href=""><img src="/thumb/21/60340/thumb_b_60340.jpg"/></a></li>
                <li><a href=""><img src="/thumb/21/60339/thumb_b_60339.jpg"/></a></li>
                <li><a href=""><img src="/thumb/21/60338/thumb_b_60338.jpg"/></a></li>
            </ul>
            <div id="pop-window">
                <div id="pop-img">
                    <a href="#"><img src="/thumb/21/60346/thumb_c_60346.jpg" /></a>
                </div>
                <div id="pop-list">
                    <ul id="pop-info">
                        <li>标签:<a href="#">新福音战士</a> | <a href="">eva</a></li>
                        <li>分辨率:<a href="#">1366 × 768</a></li>
                    </ul>
                </div>
            </div>
            <div id="author-info">
                <p>如蒙被转载请注明出处 <a href="http://www.hzhuti.com">wheato.com</a> , By — wheato , Email:wheato2010#gmail.com</p>
            </div>
        </div>
    </body>
</html>


精彩图集

赞助商链接