码迷,mamicode.com
首页 > Web开发 > 详细

jquery写拉动条

时间:2015-11-06 19:33:45      阅读:193      评论:0      收藏:0      [点我收藏+]

标签:

 1 <!DOCTYPE>
 2 <html>
 3     <head>
 4         <meta charset="utf-8">
 5         <title>鼠标滑动</title>
 6         <script src="http://lib.sinaapp.com/js/jquery/1.9.1/jquery-1.9.1.min.js"></script>
 7         <style>
 8             
 9             .start-num,.end-num{display:block;padding: 2px 5px;width:100px;}
10             .h-line{height:100px;width:2px;background:red;position:relative;left:49px;}
11             .startNav,.endNav,.tnav{position:absolute;left:0;}
12             .startNav,.endNav{width:2px;background-color: #999;}
13             .tnav{display:block;width:10px;height:5px;background:black;cursor: pointer;}
14             .startNav,.endNav .tnav{top:0;}
15             .endNav,.startNav .tnav{bottom:0;}
16         </style>
17     </head>
18     <body>
19         <input type="text" class="input">
20         <script>
21             addNumEvent($(.input));
22             /**
23              * param : dom 
24              * param : start-num default=0
25              * param : end-num default=100
26              */
27             function addNumEvent(){
28                 var len = arguments.length;
29                 if(len == 0){
30                     console.log(请填写DOM);
31                 }
32                 if(len >= 1){
33                     var getDOM = arguments[0];
34                 }
35                 if(len >= 2){
36                     var numStart = parseInt(arguments[1]);
37                 }else{
38                     var numStart = 0;
39                 }
40                 if(len >= 3){
41                     var numEnd = parseInt(arguments[2]);
42                 }else{
43                     var numEnd = 100;
44                 }
45                 temDOM = $(getDOM);
46                 temDOM.wrap(<div class="NumBox"></div>);
47                 temDOM.each(function(){
48                     thisDOM = $(this);
49                     //thisDOM.hide();
50                     var numBox = thisDOM.parents(.NumBox);
51                     var str = ‘‘;
52                     str += <input class="start-num" value="+numStart+">;
53                     str += <div class="h-line">;
54                     str += <div class="startNav">;
55                     str += <div class="tnav"></div>;
56                     str += </div>;
57                     str += <div class="endNav">;
58                     str += <div class="tnav"></div>;
59                     str += </div>;        
60                     str += </div>;
61                     str += <input class="end-num" value="+numEnd+">;
62                     numBox.append(str);
63                     var startNav = numBox.find(.startNav .tnav);
64                     var endNav = numBox.find(.endNav .tnav);
65                     var hLine = numBox.find(.h-line);
66                     var startLine = numBox.find(.startNav);
67                     var endLine = numBox.find(.endNav);
68                     var startInput = numBox.find(.start-num);
69                     var endInput = numBox.find(.end-num);
70                     startNav.mousedown(function(){
71                         numBox.mousemove(function(e){
72                             if(numStart+(numEnd-numStart)*(e.pageY-hLine.offset().top)/hLine.height()<=endInput.val()){
73                                 startLine.height(e.pageY-hLine.offset().top);
74                                 startInput.val(numStart+(numEnd-numStart)*startLine.height()/hLine.height());
75                             }
76                         });
77                         
78                     });
79                     endNav.mousedown(function(){
80                         numBox.mousemove(function(e){
81                             if(numEnd-(numEnd-numStart)*(hLine.height()+hLine.offset().top-e.pageY)/hLine.height()>=startInput.val()){
82                                 endLine.height(hLine.height()+hLine.offset().top-e.pageY);
83                                 endInput.val(numEnd-(numEnd-numStart)*endLine.height()/hLine.height());
84                             }
85                         });
86                     });
87                     $(document).mouseup(function(){
88                         numBox.unbind(mousemove);    
89                         thisDOM.val({"min":"+startInput.val()+","max":+endInput.val()+});
90                         console.log(thisDOM.val());
91                     });
92                 });
93                 
94             }
95         </script>
96     </body>
97 </html>

技术分享

jquery写拉动条

标签:

原文地址:http://www.cnblogs.com/lixingbaophp/p/4943343.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!