jquery自定義放大鏡效果
阿新 • • 發佈:2021-08-19
本文例項為大家分享了自定義放大鏡效果的具體程式碼,供大家參考,具體內容如下
jquery定義外掛:
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title></title> <script src="/jquery3.6.0.js"></script> <style type="text/"> div{ width: 200px; height: 200px; } </style> </head> <body> <div></div> <div></div> <script> // 1、jquery的外掛,定義在jquery.fn的基礎上的 // 2、命名衝突的解決 // 3、迴圈jquery物件中的每個元素 // 4、在函式中,將jquery返回(this) (function($){ $.fn.extend({ randomColor:function(){ // this指向的就是我們通過$選擇器選取到的所有元素組成的偽陣列 function random(){ var r=Math.floor(Math.random()*256); var g=Math.floor(Math.random()*256); var b=Math.floor(Math.random()*256); return 'rgb('+ r +','+ g +','+ b +')'; } this.each(function(index){ $(this).css({ backgroundColor:random() }) }) return this; } }) })(jQuery); $('div').randomColor(); </script> </body> </html>
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title></title> <style type="text/css"> *{ margin: 0; padding: 0; } .magnifier .left{ width: 240px; height: 150px; float: left; position: relative; } .magnifier .left img{ width: 240px; height: 150px; } .magnifier .left .mask{ width: 100%; height: 100%; position: absolute; left: 0; top: 0; background-color: black; opacity: 0.4; } .magnifier .float{ width: 50px; height: 50px; background: hotpink; opacity: 0.5; position: absolute; left: 0; top: 0; } .magnifier .right{ height: 200px; width: 200px; background-image: url(img/2.jpg) ; float: left; margin-left: 50px; } </style> </head> <body> <div class="magnifier"> <div class="left"> <img src="./img/2.jpg" > <div class="float"> </div> <div class="mask"></div> </div> <div class="right"></div> </div> <script src="js/jquery3.6.0.js"></script> <script> (function($){ $.fn.extend({ magnifier:function(){ this.each(function(){ var that=this; $('.left',this).mousemove(function (evt){ var x=evhttp://www.cppcns.comt.offsetX; var y=evt.offsetY; var float=$('.float',this); x=x-float.width/2; y=y-float.height/2; http://www.cppcns.com if(x<0){ x=0; } if(y<0){ y=0; } if(x > $(this).width()-float.width()){ x = $(this).width()-float.width(); } if(y > $(this).height()-float.height()){ y = $(this).height()-float.height(); } float.css({ left:x,top:y }); $('.right',that).css({ backgroundPosition:x*-4+'px' + y*-4+'px' }) }).mouseover(function(){ }).mouseout(function(){ }) }); } }) })(jQuery) $('.magnifier').magnifier(); </script> </body> </html>
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支援我們。