• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

jquery自定义放大镜效果

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

本文实例为大家分享了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>

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持极客世界。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
微信小程序实现吸顶效果的方法实例发布时间:2022-02-05
下一篇:
vue实现带放大镜的搜索框发布时间:2022-02-05
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap