js案例之鼠标跟随jquery版(实例讲解)

废话不多说,直接上代码

<!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>

相关推荐