jQuery 拖拽窗体

jQuery 拖拽窗体事件

今天给大家分享一个简单拖拽事件,可以通过拖拽事件实现数据的传递,已达到良好的交互,可以实现更为可观的效果。
具体来说,只有三部基本的操作:
第一:当鼠标按下时触发的事件(onmousedown)。
第二:鼠标移动时事件(onmousemove)。
第三:鼠标松开时停止移动事件(onmouseup)。

首先,我们先设置样式。

// 样式<style>#XiaLa {          background-image: url('../../Content/img/small.png');float: right;width: 18px;height: 18px;background-size: 100%;background-repeat: no-repeat;position: absolute;top: 3px;right: 18px;}#close_T {background-image: url('../../Content/img/close.PNG');width: 18px;height: 18px;background-size: 100%;background-repeat: no-repeat;position: absolute;top: 3px;right: 0px;}#Ha {width: 256px;position: absolute;top: 0%;left: 5%;background: #FFF;z-index: 2;border: 1px solid #3586D7;border-radius: 2px;display: none;}#Ha2 {           width: 100%;height: 25px;line-height: 25px;text-align: center;background-color: #3586D7;position: relative;      }.titleStyle{font-style: normal;color: #fff;font-size: 12px;font-weight: bold;font-family: "宋体";line-height: 22px !important;}  </style>

然后下面是body里面的代码:

//<button class="btn btn-primary" type="button"onclick="fff()">点击</button><div style="position: absolute;width:300px;width:220px;" id="Ha"><div id="Ha2"style="cursor: move;" >//cursor:定义了鼠标指针放在一个元素边界范围内时所用的光标形状//move:此光标指示某对象可被移动。//pointer:光标呈现为指示链接的指针(一只手)<i class="titleStyle">魔鬼</i><i style="cursor: pointer;" id="XiaLa" ></i><i style="cursor: pointer;" id="close_T" onclick="closeDialog_T()" ></i></div><div id="NeiRong">      </div> </div>

这是css里面的属性值,方便大家参考:
在这里插入图片描述
接下来就是要写方法,然后触发拖拽事件:

 <script>TuoZ();//调用方法function TuoZ() {//可以设置初始值的位置//$('#Ha').css("top", '200px');//$('#Ha').css("left", '1563px;');var ifmove = false;//开始判断是否移动var x1, y1;//鼠标离控件左上角的相对位置//mousedown当鼠标指针移动到元素上方,并按下鼠标按键时,发生 mousedown 事件。$("#Ha2").mousedown(function (e) {ifmove = true;//pageX返回相对于文档左边缘的鼠标位置//pageY返回相对于文档上边缘的鼠标位置//parseInt解析一个字符串并返回一个整数。x1 = e.pageX - parseInt($("#Ha").css("left"));y1 = e.pageY - parseInt($("#Ha").css("top"));//fadeTo:把被选元素逐渐改变至给定的不透明度$("#Ha2").fadeTo(20, 0.5);//点击开始拖动并透明显示//  参考://$(selector).fadeTo(speed,opacity,callback);//必需的 speed 参数规定效果的时长。它可以取以下值:"slow"、"fast" 或毫秒。//fadeTo() 方法中必需的 opacity 参数将淡入淡出效果设置为给定的不透明度(值介于 0 与 1 间)。//可选的 callback 参数是该函数完成后所执行的函数名称。});//mousemove 鼠标离开事件$(document).mousemove(function (e) {if (ifmove) {var x = e.pageX - x1;//移动时鼠标位置计算控件左上角的绝对位置var y = e.pageY - y1;var width = parseInt($("#content").css("width"));var width1 = parseInt($("#Ha").css("width"));var height = parseInt($("#content").css("height"));var height1 = parseInt($("#Ha").css("height"));//判断值是否 小于0,小于0就让等于0if (x < 0) {x = 0;}if (y < 0) {y = 0;}//判断值是否 大于0,大于0就让等于0if (y > height - height1) {y = height - height1;}if (x > width - width1) {x = width - width1;}$("#Ha").css({ top: y, left: x });//得到控件的新位置}}).mouseup(function () {//mouseup当在元素上松开鼠标按钮时,会发生 mouseup 事件。ifmove = false;$("#Ha2").fadeTo("fast", 1);//松开鼠标后停止移动并恢复成不透明});}

所上代码所示,也有注释分析,一个简单的拖拽就这样完成了。

//这里是窗体向下与向上点击事件的判断
var TF = true;$("#XiaLa").click(function () {if (TF) {$("#NeiRong").attr("style", "display:block;width:214px;height:212px;border:3px solid #3586D;");TF = false;} else {$("#NeiRong").attr("style", "display:none");TF = true;}});

实现的效果图如下,图中的蓝色导航部分当鼠标选中并进行拖拽时,改变背景颜色,背景颜色透明显示,点击:
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/443398.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

《SuperMap GIS二次开发MVC实战训练---江海区慢性病防治院系统》项目研发阶段性总结

《SuperMap GIS二次开发MVC实战训练—江海区慢性病防治院系统》项目研发阶段性总结 作者&#xff1a;爱怡同学 本次任务完成时间&#xff1a;2019年1月1日&#xff5e;2019年1月10日 开发工具与关键技术&#xff1a;SuperMap iDesktop 9D &#xff0c;MVC&#xff0c; SuperMa…

《帝友 P2P 网络借贷系统》

《帝友 P2P 网络借贷系统》 本次任务完成时间&#xff1a;2018年12月1日&#xff5e;2018年12月15日 开发工具与关键技术&#xff1a;Microsoft Visual Studio &#xff0c;SQL 完成模块功能&#xff1a;后台认证管理篇 项目流程图&#xff1a; &#xff08;1&#xff09; 事…

C#验证码

验证码生成 在学习以及做项目的过程中&#xff0c;我们有时候遇到需要验证码的情况&#xff0c;然后需要对它进行判断是否正确。但首先&#xff0c;我们就必须要生成验证码&#xff0c;才能够对其进行判断。 首先&#xff0c;这是控制层代码&#xff1a; //生成验证码public…

jquery工具箱旋转动画效果

jquery工具箱旋转动画效果 今天给大家分享一个工具箱的旋转动画效果&#xff0c;因为做GIS项目的时候所需要到&#xff0c;这是我在懒人之家看到的一个jquery鼠标点击按钮图标旋转弹出图标菜单旋转动画。 首先&#xff0c;可以引用插件&#xff0c;但因为项目所需&#xff0c;…

.NET短信接口验证

.NET短信接口验证 之前遇到的一个问题&#xff0c;因为没有接触过&#xff0c;所以自己上网查阅过资料也向他人请教以及老师&#xff0c;.NET短信接口调用&#xff0c;其实&#xff0c;网上有许多免费的短信接口平台&#xff0c;但也是有限度的&#xff0c;如果发送的数量过多…

密码判断

.NET(C#)密码判断 当我们需要对密码进行判断的时候&#xff0c;可以不使用提示框模态框的方法&#xff0c;用图片显示判断密码正确与否也是比较美观的&#xff0c;也实为方便&#xff0c;这也是老师提供一种方法。 首先&#xff0c;我们需要把样式铺垫好&#xff1a; <div…

身份证正则判断

身份证正则判断 今天分享的是身份证的正则判断&#xff0c;在很多时候需要到&#xff0c;所以在这里记录下来。之前做正则判断的时候&#xff0c;有一些小瑕疵&#xff0c;判断不够全面&#xff0c;正则判断&#xff0c;结构紧凑&#xff0c;全面的判断很重要&#xff0c;所以…

Oracle 单行函数

学习Oracle 单行函数&#xff1a; 包括字符函数&#xff0c;数值函数&#xff0c;日期函数&#xff0c;转换函数&#xff0c;通用函数。 dual是一个”伪表”&#xff0c;可以用来测试函数和表达式。 1&#xff0c; 字符函数 包括大小写控制函数&#xff0c;字符控制函数。 大小…

Oracle 多表查询 --笛卡尔集--左连接--右连接--1999 语法--满外连接

Oracle 多表查询总结 笛卡尔集现象&#xff1a; 笛卡尔集会在下面条件下产生: – 省略连接条件 – 连接条件无效 – 所有表中的所有行互相连接 为了避免笛卡尔集&#xff0c; 可以在where加入有效的连接条件。 Oracle 连接&#xff1a; 使用连接在多个表中查询数据。 在wher…

Oracle 数据库-分组函数总结

Oracle 分组函数 分组函数作用于一组数据&#xff0c;并对一组函数返回一个值。 组函数类型&#xff1a; avg&#xff0c;count&#xff0c;max&#xff0c;min&#xff0c;sum 可以对数值型数据使用avg和sum函数。 select avg(salary),min(salary),max(salary),sum(salary)…

在notepad++中配置java编译环境

在notepad中配置java编译环境 &#xff08;1&#xff09;首先&#xff0c;下载安装了Notepad&#xff0c;在菜单栏那里找到Plugin Manager&#xff0c;有一些版本是没有中文的&#xff0c;所有只有Plugin Manager&#xff0c;如果连Plugin Manager都没有&#xff0c;你则需要去…

Java 基础数据类型

Java 基础数据类型 Java的两大数据类型&#xff1a;基本数据类型、引用类型。 Java语言提供了八种基本数据类型。六种数字类型&#xff08;四个整数型&#xff0c;两个浮点型&#xff09;&#xff0c;一种字符类型&#xff0c;还有一种布尔型。 整形&#xff1a;byte&#xf…

Java获取系统时间

Java获取系统时间 Java获取系统时间 在java 中&#xff0c;有很多种方法都可以获取到系统的当前时间&#xff0c;但也需要到对应的类&#xff0c;不同的类自然有不同的方法。这里为大家介绍获取系统当前时间的四种方式。 1&#xff0e; 通过Calendar类来获取当前时间 需要引用…

Java单例模式的几种实现方式

Java单例模式的几种实现方式 在Java 中&#xff0c;单例类只能有一个实例&#xff0c;必须创建自己的唯一实例&#xff0c;单例类必须给所有其他对象提供这一实例。Java 单例模式有很多种实现方式&#xff0c;在这里给大家介绍单例模式其中的几种。分别是饿汉式&#xff0c;懒…

Java 中抽象类与接口

Java 抽象类&#xff1a; 在面向对象的概念中&#xff0c;所有的对象都是通过类来描绘的&#xff0c;但是反过来&#xff0c;并不是所有的类都是用来描绘对象的&#xff0c;如果一个类中没有包含足够的信息来描绘一个具体的对象&#xff0c;这个类就是抽象类。 抽象类不能创建…

Java 中的进程与线程的实现

了解进程与线程&#xff1a; 进程&#xff1a; 当一个程序进入内存运行时&#xff0c;即变成一个进程。进程是处于运行过程 中的程序&#xff0c;并且具有一定的独立功能&#xff0c;进程是系统进行资源分配和调度的一个独立单 位一般而言&#xff0c;进程包含如下三个特征&…

Java集合工具类:Collections

Java提供了一个操作Set、List和Map等集合的工具类&#xff1a;Collections&#xff0c;该工具类里 提供了大量方法对集合元素进行排序、查询和修改等操作&#xff0c;还提供了对集合对象实现同步控制等方法。 一、 排序操作 如下示例&#xff1a; public class CollectionsSor…

Java异常处理throws/throw

Java的异常被分为两大类&#xff1a;Checked异常和Runtime异常&#xff08;运行时异常&#xff09;。 • Runtime异常&#xff1a;所有的RuntimeException类及其子类的实例&#xff1b; • Checked异常&#xff1a;不是RuntimeException类及其子类的异常实例。 只有Java语言提供…

JDBC 连接MYSQL数据库

1. 加载驱动 Class.forName("com.mysql.jdbc.Driver");com.mysql.jdbc 包名 Driver 驱动名&#xff0c;驱动包需要引入进来 mysql com.mysql.jdbc.Driveroracle oracle.jdbc.driver.OracleDriversqlserver com.microsoft.sqlserver.jdbc.SQLServerDriver …

JSP 之输出九九乘法表

JSP是一种建立在Servlet规范提供的功能之上的动态网页技术&#xff0c;允许在网页文件中嵌入java代码和jsp标记。Java 服务器页面 (Java Server Page &#xff0c;JSP) 扩展名为 .jsp。 1&#xff0e;jsp的执行过程 Jsp文件在用户第一次请求时,会被编译成Servlet,然后由这个Se…