博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
jquery 拖动改变div 容器大小
阅读量:5891 次
发布时间:2019-06-19

本文共 1958 字,大约阅读时间需要 6 分钟。

 

出处:
使用方法,新建一个html文件,把下面代码复制过去。然后调试就可以看到效果了。

<!
DOCTYPE html PUBLIC"-//W3C//DTD XHTML 1.0 Transitional//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"
>
<
html 
xmlns
="http://www.w3.org/1999/xhtml"
>
<
head
>
    
<
meta 
http-equiv
="Content-Type"
 content
="text/html; charset=utf-8"
 
/>
    
<
title
>jQuery 版“元素拖拽改变大小”原型 
</
title
>
    
<!--
引用jquery
-->
    
<
script 
src
="http://code.jquery.com/jquery-2.0.3.min.js"
 type
="text/javascript"
></
script
>
    
<
script 
type
="text/javascript"
>
        
/*
        * jQuery.Resize by wuxinxi007
        * Date: 2011-5-14
        * blog : http://wuxinxi007.cnblogs.com/
        
*/
        $(
function
 ()
        {
            
//
绑定需要拖拽改变大小的元素对象
            bindResize(document.getElementById(
'
test
'
));
        });
        
function
 bindResize(el)
        {
            
//
初始化参数
            
var
 els 
=
 el.style,
            
//
鼠标的 X 和 Y 轴坐标
            x 
=
 y 
=
 
0
;
            
//
邪恶的食指
            $(el).mousedown(
function
 (e)
            {
                
//
按下元素后,计算当前鼠标与对象计算后的坐标
                x 
=
 e.clientX 
-
 el.offsetWidth,
            y 
=
 e.clientY 
-
 el.offsetHeight;
                
//
在支持 setCapture 做些东东
                el.setCapture 
?
 (
                
//
捕捉焦点
                    el.setCapture(),
                
//
设置事件
                    el.onmousemove 
=
 
function
 (ev)
                    {
                        mouseMove(ev 
||
 event);
                    },
                    el.onmouseup 
=
 mouseUp
                ) : (
                    
//
绑定事件
                    $(document).bind(
"
mousemove
"
, mouseMove).bind(
"
mouseup
"
, mouseUp)
                );
                
//
防止默认事件发生
                e.preventDefault();
            });
            
//
移动事件
            
function
 mouseMove(e)
            {
                
//
宇宙超级无敌运算中...
                els.width 
=
 e.clientX 
-
 x 
+
 
'
px
'
,
                els.height 
=
 e.clientY 
-
 y 
+
 
'
px
'
;
            }
            
//
停止事件
            
function
 mouseUp()
            {
                
//
在支持 releaseCapture 做些东东
                el.releaseCapture 
?
 (
                
//
释放焦点
                    el.releaseCapture(),
                
//
移除事件
                    el.onmousemove 
=
 el.onmouseup 
=
 
null
                ) : (
                    
//
卸载事件
                    $(document).unbind(
"
mousemove
"
, mouseMove).unbind(
"
mouseup
"
, mouseUp)
                );
            }
        }
    
</
script
>
    
<
style 
type
="text/css"
>
        #test 
{
 position
:
 absolute
;
 top
:
 0
;
 left
:
 0
;
 width
:
 400px
;
 height
:
 300px
;
 background
:
 #f1f1f1
;
 
                text-align
:
 center
;
 line-height
:
 100px
;
 border
:
 1px solid #CCC
;
 cursor
:
 se-resize
;
 
}
    
</
style
>
</
head
>
<
body
>
    
<
div 
id
="test"
>
        这是内容
    
</
div
>
</
body
>
</
html
>

 

本文转自火地晋博客园博客,原文链接:http://www.cnblogs.com/yelaiju/archive/2012/02/16/2354602.html,如需转载请自行联系原作者

你可能感兴趣的文章
POJ 2528 Mayor's posters (线段树+区间覆盖+离散化)
查看>>
LINQ返回DataTable类型 list转dataset 转换为JSON对象
查看>>
内核探测工具systemtap简介
查看>>
【Vue 入门】使用 Vue2 开发一个展示项目列表的应用
查看>>
file.encoding到底指的是什么呢?
查看>>
PowerCmd(转)
查看>>
一个增删改查功能开发小结
查看>>
产品设计原则之移动APP【转】
查看>>
django 要怎么具体查看sql语句
查看>>
Hadoop技术创新方案
查看>>
第一周学习进度情况
查看>>
Animator根运动清除刚体速率问题测试
查看>>
java的Result类
查看>>
css的border的solid
查看>>
Net中的常见的关键字
查看>>
div+css实现window xp桌面图标布局(至上而下从左往右)
查看>>
CheckBox全选与不全选(不用刷新页面)
查看>>
0-1 背包问题
查看>>
UNIX网络编程——原始套接字SOCK_RAW
查看>>
进入快速委托通道
查看>>