• 左右拖拽显示对比图


    闲来无事,做了一个模块效果

    左右拖拽显示对比图,是用jq封装的

    利用鼠标距离左侧(0,0)坐标的横坐标位移来控制绝对定位的left值

    再配合背景图fixed属性,来制作视觉差效果

    代码如下

     1 <!doctype html>
     2 <html>
     3 <head>
     4 <meta charset="utf-8">
     5 <title>左右推拽显示对比图</title>
     6 <style>
     7 body {overflow:hidden;background:#000;}* {margin:0;padding:0;}
     8 .wrap {width:1100px;height:610px;border:solid 1px #ddd;margin:0 auto;position:relative;overflow:hidden;background:#fff;}
     9 .box1,.box2 {width:1100px;height:610px;position:absolute;left:0;top:0;}
    10 .box1 {z-index:2;background:url(images/car-01.png) center fixed no-repeat;}
    11 .box2 {z-index:3;background:url(images/car-02.png) center #ddd fixed no-repeat;left:550px;}
    12 .handle {width:42px;height:42px;background:url(images/hand.png) no-repeat;position:absolute;left:529px;z-index:10;top:400px;}
    13 
    14 .cursor {cursor:url(images/6.ico),auto;}
    15 .nocur {cursor:default;}
    16 </style>
    17 <script src="js/jquery-1.7.2.min.js"></script>
    18 </head>
    19 
    20 <body id="body">
    21 <div class="wrap">
    22     <div class="box1"></div>
    23     <div class="box2"></div>
    24     <div class="handle"></div>
    25 </div>
    26 
    27 <script>
    28 
    29 ;(function($){
    30     $.fn.drag = function(arg,mover){
    31         var _move = false;//先给不让移动
    32         mover = $('.'+mover)
    33         var _x; 
    34         var _y; //鼠标离左上角的值
    35         arg = this;
    36         function ab(arg){    
    37             arg.mouseover(function(){
    38                 $('body').addClass('cursor');
    39             });    
    40             arg.mouseout(function(){
    41                 $('body').removeClass('cursor');    
    42             });
    43             arg.mousedown(function(){
    44                 this.style.cursor = 'url(images/5.ico),auto';
    45             });
    46             arg.mouseup(function(){
    47                 this.style.cursor = 'url(images/6.ico),auto';
    48             });
    49             
    50             arg.click(function(e) {
    51                 var e = e || window.event;
    52                 //alert('按下鼠标');
    53                 }).mousedown(function(e) {
    54                 _move = true;
    55                 _x = e.pageX - parseInt(arg.css('left'));//获取左上角坐标 _x            
    56             });
    57             $(document).mousemove(function(e) {
    58                 if(_move == true)
    59                 {
    60                     var x = e.pageX - _x;// 鼠标当前位置减去(鼠标当前位置,距离元素左上角的距离 s )   获得现在左上角距离浏览器左上角的新值
    61                     if(x > 0 && x < 1100){
    62                         arg.css({'left':x});
    63                         mover.css({'left':x+21});
    64                     } 
    65                     if (x<=0) {
    66                         arg.css({'left':'0px'});
    67                         mover.css({'left':'21px'});
    68                     }
    69                     if (x>1053) {
    70                         arg.css({'left':'1058px'});
    71                         mover.css({'left':'1079px'});
    72                     }                
    73                 }
    74             }).mouseup(function(e){
    75                 _move = false;
    76             });
    77             
    78             b = function(){            
    79                 var i;
    80                 arg.animate({left:'1058px'},800);
    81                 mover.animate({left:'1079px'},800,function(){
    82                     arg.animate({left:'0px'},800);
    83                     mover.animate({left:'21px'},800,function(){
    84                         arg.animate({'left':'529px'},800);
    85                         mover.animate({'left':'550px'},800);
    86                     });    
    87                 });            
    88             }
    89             b();
    90             return this;
    91         }
    92         ab(arg);    
    93     }
    94 })(jQuery);
    95 $('.handle').drag(this,'box2');
    96 
    97 </script>
    98 </body>
    99 </html>

    封装的不是很彻底,不过主体效果实现了,可以自己拿着修改一下啊

    下面的是缩略图

    http://files.cnblogs.com/files/Sinhtml/animation.rar

  • 相关阅读:
    Jenkins pipeline基本结构
    接口测试框架httprunner使用自定义extentreports报告模板遇到的问题小结
    python3中扩展字典类实现用点访问属性
    python3系列五可迭代对象、迭代器和生成器
    vue.js-组件嵌套
    使用Vue-CLI3.x进行vue.js环境搭建
    python系列四反射机制
    vue.js环境搭建踩坑记
    python系列三推导式
    python系列二filter()、map()和reduce()
  • 原文地址:https://www.cnblogs.com/Sinhtml/p/4843832.html
Copyright © 2020-2023  润新知