首页 > 技术文章 > js学习总结----案例之鼠标跟随jquery版

diasa-fly 2017-07-20 17:29 原文

具体代码如下:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
    <style>
        body,div{
            margin:0;
            padding:0;
        }
        img{
            display:block;
            border:none;
        }
        .box{
            position:relative;
            width:450px;
            margin:20px auto;
        }
        .box img{
            float:left;
            margin-left:10px;
            width:100px;
            height:75px;
            border:1px solid #008000;
        }
        #mark{
            display:none;
            position:absolute;
            top:0;
            left:0;
            z-index:10;
            width:400px;
            height:300px;
            border:1px solid #0077b0;
        }
        #mark img{
            float:inherit;
            margin-left:0;
            border:none;
            width:100%;
            height:100%;
        }
    </style>
</head>
<body>
    <div class='box' id='box'>
        <img src="img/apple_1.jpg" alt="" bigImg='img/apple_1_bigger.jpg'>
        <img src="img/apple_2.jpg" alt="" bigImg='img/apple_2_bigger.jpg'>
        <img src="img/apple_3.jpg" alt="" bigImg='img/apple_3_bigger.jpg'>
        <img src="img/apple_4.jpg" alt="" bigImg='img/apple_4_bigger.jpg'>
        <div id='mark'>
            <img src="img/apple_1_bigger.jpg" alt="">
        </div>
    </div>

    <script src='js/jquery-1.11.3.min.js'></script>
    <script>
        $(function(){
            var $box = $("#box"),$mark = $("#mark");
            var $boxOffset = $box.offset();//获取当前元素的距离body的偏移
            $box.children("img").bind("mouseover",function(e){
                var e = e || window.event;
                e.target = e.target || e.srcElement;
                var left = e.clientX - $boxOffset.left+10;
                var top = e.clientY - $boxOffset.top+10;
                $mark.stop().show(500).css({left:left,top:top}).find("img").attr("src",e.target.getAttribute("bigImg"));

            }).bind("mousemove",function(e){
                var e = e || window.event;
                e.target = e.target || e.srcElement;
                var left = e.clientX - $boxOffset.left+10;
                var top = e.clientY - $boxOffset.top+10;
                $mark.css({left:left,top:top}).find("img").attr("src",e.target.getAttribute("bigImg"));

            }).bind("mouseout",function(e){
                $mark.stop().hide(500);

            })


        })
    </script>
</body>
</html>

 

推荐阅读