您好,登錄后才能下訂單哦!
今天就跟大家聊聊有關使用jQuery怎么實現一個響應鼠標移動方向插件,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結了以下內容,希望大家根據這篇文章可以有所收獲。
HTML代碼如下:
<!doctype html> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1, user-scalable=no"> <meta name="Generator" content="EditPlus®"> <meta name="Author" content=""> <meta name="Keywords" content=""> <meta name="Description" content=""> <title>www.jb51.net jQuery響應鼠標移動</title> <style> *{margin:0;padding:0;} ul,li{list-style:none;} div{font-family:"Microsoft YaHei";} html,body{width:100%; height:100%; background:#f2f2f2;} ul{margin-left:50px;} ul li{float:left;} ul li .outer{width:300px; height:250px;} ul li .outer .inner{width:300px; height:250px; background:rgba(0, 0, 0, .3);} </style> <script src="http://libs.baidu.com/jquery/2.0.0/jquery.min.js"></script> </head> <body> <ul> <li> <div class="outer"> <img src="http://sandbox.runjs.cn/uploads/rs/253/e6wsbxul/09.jpg" width="300px" height="250px" /> <div class="inner"> 我是圖片1 </div> </div> </li> <li> <div class="outer"> <img src="http://sandbox.runjs.cn/uploads/rs/253/e6wsbxul/010.jpg" width="300px" height="250px" /> <div class="inner"> 我是圖片2 </div> </div> </li> <li> <div class="outer"> <img src="http://sandbox.runjs.cn/uploads/rs/253/e6wsbxul/011.jpg" width="300px" height="250px" /> <div class="inner"> 我是圖片3 </div> </div> </li> <li> <div class="outer"> <img src="http://sandbox.runjs.cn/uploads/rs/253/e6wsbxul/012.jpg" width="300px" height="250px" /> <div class="inner"> 我是圖片4 </div> </div> </li> <li> <div class="outer"> <img src="http://sandbox.runjs.cn/uploads/rs/253/e6wsbxul/013.jpg" width="300px" height="250px" /> <div class="inner"> 我是圖片5 </div> </div> </li> <li> <div class="outer"> <img src="http://sandbox.runjs.cn/uploads/rs/253/e6wsbxul/014.jpg" width="300px" height="250px" /> <div class="inner"> 我是圖片6 </div> </div> </li> <li> <div class="outer"> <img src="http://sandbox.runjs.cn/uploads/rs/253/e6wsbxul/015.jpg" width="300px" height="250px" /> <div class="inner"> 我是圖片7 </div> </div> </li> <li> <div class="outer"> <img src="http://sandbox.runjs.cn/uploads/rs/253/e6wsbxul/016.jpg" width="300px" height="250px" /> <div class="inner"> 我是圖片8 </div> </div> </li> </ul> <script> (function($){ $.fn.extend({ show : function(div){ var w = this.width(), h = this.height(), xpos = w/2, ypos = h/2, eventType = "", direct = ""; this.css({"overflow" : "hidden", "position" : "relative"}); div.css({"position" : "absolute", "top" : this.width()}); this.on("mouseenter mouseleave", function(e){ var oe = e || event; var x = oe.offsetX; var y = oe.offsetY; var angle = Math.atan((x - xpos)/(y - ypos)) * 180 / Math.PI; if(angle > -45 && angle < 45 && y > ypos){ direct = "down"; } if(angle > -45 && angle < 45 && y < ypos){ direct = "up"; } if(((angle > -90 && angle <-45) || (angle >45 && angle <90)) && x > xpos){ direct = "right"; } if(((angle > -90 && angle <-45) || (angle >45 && angle <90)) && x < xpos){ direct = "left"; } move(e.type, direct) }); function move(eventType, direct){ if(eventType == "mouseenter"){ switch(direct){ case "down": div.css({"left": "0px", "top": h}).stop(true,true).animate({"top": "0px"}, "fast"); break; case "up": div.css({"left": "0px", "top": -h}).stop(true,true).animate({"top": "0px"}, "fast"); break; case "right": div.css({"left": w, "top": "0px"}).stop(true,true).animate({"left": "0px"}, "fast"); break; case "left": div.css({"left": -w, "top": "0px"}).stop(true,true).animate({"left": "0px"}, "fast"); break; } }else{ switch(direct){ case "down": div.stop(true,true).animate({"top": h}, "fast"); break; case "up": div.stop(true,true).animate({"top": -h}, "fast"); break; case "right": div.stop(true,true).animate({"left": w}, "fast"); break; case "left": div.stop(true,true).animate({"left": -w}, "fast"); break; } } } } }); })(jQuery) $(".outer").each(function(i){ $(this).show($(".inner").eq(i)); }); </script> </body> </html>
其中控制響應鼠標方向的JS代碼如下:
/* *使用說明: * $(".a").show($(".b")) * a是展示層,b是遮罩層 * b在a的內部 */ $(".outer").each(function(i){ $(this).show($(".inner").eq(i)); });
jquery是一個簡潔而快速的JavaScript庫,它具有獨特的鏈式語法和短小清晰的多功能接口、高效靈活的css選擇器,并且可對CSS選擇器進行擴展、擁有便捷的插件擴展機制和豐富的插件,是繼Prototype之后又一個優秀的JavaScript代碼庫,能夠用于簡化事件處理、HTML文檔遍歷、Ajax交互和動畫,以便快速開發網站。
看完上述內容,你們對使用jQuery怎么實現一個響應鼠標移動方向插件有進一步的了解嗎?如果還想了解更多知識或者相關內容,請關注億速云行業資訊頻道,感謝大家的支持。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。