欢迎来到代码驿站!

jquery

当前位置:首页 > 网页前端 > jquery

jquery自定义放大镜效果

时间:2022-01-05 10:07:25|栏目:jquery|点击:

本文实例为大家分享了jquery自定义放大镜效果的具体代码,供大家参考,具体内容如下

jquery定义插件:

<!DOCTYPE html>
<html>
 <head>
  <meta charset="utf-8">
  <title></title>
  <script src="js/jquery3.6.0.js"></script>
  <style type="text/css">
   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=evt.offsetX;
        var y=evt.offsetY;
        var float=$('.float',this);
        
        x=x-float.width/2;
        y=y-float.height/2;
        
        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>

上一篇:jQuery实现Div拖动+键盘控制综合效果的方法

栏    目:jquery

下一篇:JQuery事件委托(适用于给动态生成的脚本元素添加事件)

本文标题:jquery自定义放大镜效果

本文地址:http://www.codeinn.net/misctech/189193.html

推荐教程

广告投放 | 联系我们 | 版权申明

重要申明:本站所有的文章、图片、评论等,均由网友发表或上传并维护或收集自网络,属个人行为,与本站立场无关。

如果侵犯了您的权利,请与我们联系,我们将在24小时内进行处理、任何非本站因素导致的法律后果,本站均不负任何责任。

联系QQ:914707363 | 邮箱:codeinn#126.com(#换成@)

Copyright © 2020 代码驿站 版权所有