小围脖

Try , Try , Never Say Die !

 

jQuery实现鼠标拖动改变Div高度

最近项目中需要在DashBoard页面做一个事件通知栏,该通知栏固定位于页面底部,鼠标拖动该DIV实现自动改变高度扩展内容显示区域。

以下是一个设计原型,基于jQuery实现,只实现了拖动效果,没有做页面美化,可以根据需求做相应修改。

直接上代码

 1 <!DOCTYPE HTML PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
 2 <html xml:lang="en" xmlns="http://www.w3.org/1999/xhtml" lang="en">
 3 <head>
 4 <title>Div随鼠标拖动改变高度</title>
 5 <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
 6 <script src="jquery-1.8.3.min.js"></script>
 7 <style type="text/css">
 8 html, body{ height: 100%; margin: 0; padding: 0; }
 9 #footer { position:fixed; bottom:0; left:0; width:100%; height:30px; background-color:#B8D0FA;}
10 #expander{ width:100%; height:6px; background-color:#999;}
11 #expander:hover{ cursor:n-resize;}
12 </style>
13 <script>
14 $(function(){
15     var src_posi_Y = 0, dest_posi_Y = 0, move_Y = 0, is_mouse_down = false, destHeight = 30;
16     $("#expander")
17     .mousedown(function(e){
18         src_posi_Y = e.pageY;
19         is_mouse_down = true;
20     });
21     $(document).bind("click mouseup",function(e){
22         if(is_mouse_down){
23           is_mouse_down = false;
24         }
25     })
26     .mousemove(function(e){
27         dest_posi_Y = e.pageY;
28         move_Y = src_posi_Y - dest_posi_Y;
29         src_posi_Y = dest_posi_Y;
30         destHeight = $("#footer").height() + move_Y;
31         if(is_mouse_down){
32             $("#footer").css("height", destHeight > 30 ? destHeight : 30);
33         }
34     });
35 });
36 </script>
37 </head>
38 <body>
39 <div style="width:100%; height:1000px; background-color:#F2F2F2;"></div>
40 <div id="footer"><div id="expander"></div><span id="info">It's Your Contents !</span></div>
41 </body>
42 </html>

 

posted on 2015-04-25 19:48  小围脖  阅读(7668)  评论(1编辑  收藏  举报

导航