文档章节

easyui dialog自定义可拖曳

MissGu
 MissGu
发布于 2015/04/12 21:35
字数 579
阅读 2693
收藏 0

     看到标题的朋友一定会觉得本人很奇怪,easyui的dialog不是自带可拖曳的属性吗。是的,dialog继承了Window的一个属性draggable,设为true之后,窗口便可以拖曳。事实是,一,easyui的draggable属性是绑定在窗口的title属性上的,能使用draggable属性的前提是必须保留dialog的标题栏,但不得不说,我实在对dialog的标题样式不太满意,寻找半天也没找到dialog标题样式修改的地方,如果朋友你看知道的话,可以方便回复告诉我,谢谢;二,easyui的可拖曳属性可以随意拖动窗口到任意地方,甚至超出网页边界。我又是个强迫症比较厉害的人,so。。。

     好了,进入正题。怎么样让我们的不需要easyui内置标题的dialog窗口在一定范围中拖曳呢。

 //dialog拖动
    $(".move").add(".window-shadow").mousedown(function(e)//e鼠标事件
    {

        var offset = $(this).offset();//DIV在页面的位置
        var x = e.pageX - offset.left;//获得鼠标指针离DIV元素左边界的距离
        var y = e.pageY - offset.top;//获得鼠标指针离DIV元素上边界的距离
        $(document).bind("mousemove",function(ev)//绑定鼠标的移动事件,因为光标在DIV元素外面也要有效果,所以要用doucment的事件,而不用DIV元素的事件
        {
            $(".window").add(".window-shadow").stop();//加上这个之后

            var _x = ev.pageX - x;//获得X轴方向移动的值
            var _y = ev.pageY - y;//获得Y轴方向移动的值

            //在该DIV的范围内拖动
            var pElement = $("body"),
                pWidth = pElement.width(),
                pHeight = pElement.height();
            //移动的div,以window为例
            var element = $(".window"),
                eWidth = element.width(),
                eHeight = element.height();
            if(_x+eWidth>pWidth){
                _x=pWidth-eWidth;
            }
            if(_x<0){
                _x=0;
            }
            if(_y<0){
                _y=0;
            }
            if(_y+eHeight>pHeight){
                _y=pHeight-eHeight;
            }
            $(".window").add(".window-shadow").animate({left:_x+"px",top:_y+"px"},10);
        });
    });

    $(document).mouseup(function()
    {
        //  $(".window").add(".window-shadow").css("cursor","default");
        $(this).unbind("mousemove");
    })
})

className="move"和“window-shadow”正是鼠标划过显示鼠标样式显示为移动的区域

附上css :

.move{
    width:650px;
    height: 50px;
    cursor:move;
}

这样鼠标划过move所在区域,就会显示移动样式,鼠标点击拖动就可以在一定范围内拖动整个dialog。嗯~~也许大家没我这么强迫症,但是作为前端开发人员,适时的强迫症也是需要的吧。

© 著作权归作者所有

共有 人打赏支持
MissGu
粉丝 3
博文 5
码字总数 2899
作品 0
北碚
jQuery easyui官方文档翻译 - 基础总览

jQuery easyui官方文档翻译web版:http://easydoc.cloudfoundry.com/doc/easyui/1.2.5/ Documentation Each component of easyui has properties, methods and events. Users can extend the......

noday
2012/03/26
0
0
python 写的selenium脚本不能循环,循环时会报 [WinError 10053] 你的主机中的软件中止了一个已建立的连接。错误,求大佬解答下

用python写了一段自动化脚本,在循环的时候报ConnectionAbortedError: [WinError 10053] 你的主机中的软件中止了一个已建立的连接。错误,第一次执行没有问题,就是不能循环,求个大神解答下...

自学测试的小白
07/05
0
0
jQuery EasyUI快速入门实战教程(一)-入门

1、jQuery EasyUI概述 jQuery EasyUI是一组基于jQuery的UI插件集合体,而jQuery EasyUI的目标就是帮助web开发者更轻松的打造出功能丰富并且美观的UI界面。开发者不需要编写复杂的javascript,...

神码小风
06/28
0
0
关于EasyUI使用tree方法生成树形结构加载两次的问题

html代码中利用class声明了easyui-tree,导致easyUI解析class代码的时候先解析class声明中的easyui-tree这样组件就请求了一次url;然后又调用js初始化代码请求一次url。这样导致了重复加载,解...

Doublec
2015/04/21
0
0
easyui 框架Layout插件

1:引入的css: <link rel="stylesheet" href="${rc.contextPath}/static/easyui/themes/custom/easyui.css"> <link rel="stylesheet" href="${rc.contextPath}/static/easyui/themes/icon.css......

赵作文
2015/11/16
0
0

没有更多内容

加载失败,请刷新页面

加载更多

storm drpc实例

序 本文主要演示一下storm drpc实例 配置 version: '2'services: supervisor: image: storm container_name: supervisor command: storm supervisor -c storm.......

go4it
35分钟前
1
0
官宣 | Chrome 70正式向所有HTTP网站发出红色“不安全”警告!

10月17日,坐拥10亿用户的Chrome浏览器正式上线70版本。作为第一个采用TLS1.3正式版的Chrome版本,在安全新功能方面,Chrome 70进一步升级了HTTP页面“不安全”显示标识,即当用户输入数据时...

亚洲诚信
36分钟前
4
0
mysql 数据类型及占用字节数

数字类型 TINYINT                           1 字节 SMALLINT                          2 个字节 MEDIUMINT                         3 个字节...

会游泳的鱼_
今天
6
0
高性能mysql:创建高性能的索引

性能优化简介 MySQL性能定义为完成某件任务所需要的时间量度,换句话说,性能即响应时间,这是一个非常重要的原则。我们通过任务和时间而不是资源来测量性能。数据库服务器的目的是执行SQL语...

背后的辛酸
今天
11
0
HTTP get、post 中请求json与map传参格式

import java.io.IOException;import java.net.URI;import java.net.URISyntaxException;import java.nio.charset.Charset;import java.util.ArrayList;import java.util.List;im......

寒风中的独狼
今天
9
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部