01_jQuery插件

功能:对角拉伸,自由拖拽

这个功能其实已经在jquery中封装好了

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
<style type="text/css">
* {
margin: 0;
padding: 0;
}

.d1 {
height: 300px;
width: 600px;
background: #DDDDDD;
position: relative;
}
</style>
<script src="http://cdn.static.runoob.com/libs/jquery/1.10.2/jquery.min.js"></script>
</head>

<body>
<div class="d1">456456456
<div class="d2">

</div>
</div>
<script>
$.fn.extend({
////封装好的jQuery插件,可以随便移动窗口
drag: function() {
var disX = 0;
var disY = 0;
var This = this;
this.mousedown(function(ev) {
disX = ev.pageX - $(this).offset().left;
disY = ev.pageY - $(this).offset().top;
$(document).mousemove(function(ev) {
ev.preventDefault();
This.css(‘left‘, ev.pageX - disX);
This.css(‘top‘, ev.pageY - disY);
});
$(document).mouseup(function() {
$(this).off();
});
return false;
});
return this.mousedown();
},
//封装好的jQuery插件,在右下角改变元素的大小并且可以随便移动窗口
elementResizeAndDrag: function() {
var me = this;
this.mousemove(function(e) {
var X = $(this).width();
var Y = $(this).height();
var disX = $(this).offset().left;
var disY = $(this).offset().top;
var e = e || window.event;
if(
(e.pageX >= X + disX - 20) &&
(e.pageY >= Y + disY - 20) &&
(e.pageX <= X + disX + 20) &&
(e.pageY <= Y + disY + 20)
) {
$(this).css("cursor", "se-resize");
} else {
$(this).css("cursor", "default");
}
});
this.mousedown(function(e) {
var X = $(this).width();
var Y = $(this).height();
var disX = $(this).offset().left;
var disY = $(this).offset().top;
var e = e || window.event;
if(
(e.pageX >= X + disX - 20) &&
(e.pageY >= Y + disY - 20) &&
(e.pageX <= X + disX + 20) &&
(e.pageY <= Y + disY + 20)
) {
$(document).mousemove(function(e) {
var e = e || window.event;
e.preventDefault();
me.css(‘width‘, e.clientX - disX + ‘px‘);
me.css(‘height‘, e.clientY - disY + ‘px‘);
});
$(document).mouseup(function() {
$(this).off();
});
return false;
} else {
var disX = 0;
var disY = 0;
disX = e.pageX - $(this).offset().left;
disY = e.pageY - $(this).offset().top;
$(document).mousemove(function(e) {
var e = e || window.event;
e.preventDefault();
me.css(‘left‘, e.pageX - disX);
me.css(‘top‘, e.pageY - disY);
});
$(document).mouseup(function() {
$(this).off();
});
return false;
}

});
return this.mousedown();
},
//封装好的jQuery插件,在右下角改变元素的大小
elementResize: function() {
var me = this;
this.mousemove(function(e) {
var X = $(this).width();
var Y = $(this).height();
var disX = $(this).offset().left;
var disY = $(this).offset().top;
var e = e || window.event;
if(
(e.pageX >= X + disX - 20) &&
(e.pageY >= Y + disY - 20) &&
(e.pageX <= X + disX + 20) &&
(e.pageY <= Y + disY + 20)
) {
$(this).css("cursor", "se-resize");
} else {
$(this).css("cursor", "default");
}
});
this.mousedown(function(e) {
var X = $(this).width();
var Y = $(this).height();
var disX = $(this).offset().left;
var disY = $(this).offset().top;
var e = e || window.event;
if(
(e.pageX >= X + disX - 20) &&
(e.pageY >= Y + disY - 20) &&
(e.pageX <= X + disX + 20) &&
(e.pageY <= Y + disY + 20)
) {
$(document).mousemove(function(e) {
var e = e || window.event;
e.preventDefault();
me.css(‘width‘, e.clientX - disX + ‘px‘);
me.css(‘height‘, e.clientY - disY + ‘px‘);
});
$(document).mouseup(function() {
$(this).off();
});
return false;
}
});
return this.mousedown();
}
});
$(‘.d1‘).elementResizeAndDrag(function(){
console.log(12);
});
$(window).resize(function(){
console.log(123);
});
</script>

</body>

</html>

时间: 2024-10-10 03:03:39

01_jQuery插件的相关文章

使用 Chrome 浏览器插件 Web Scraper 10分钟轻松实现网页数据的爬取

本文标签: WebScraper Chrome浏览器插件 网页数据的爬取 使用Chrome 浏览器插件 Web Scraper 可以轻松实现网页数据的爬取,不写代码,鼠标操作,点哪爬哪,还不用考虑爬虫中的登陆.验证码.异步加载等复杂问题. Web Scraper插件 Web Scraper 官网中的简介: Web Scraper Extension (Free!)Using our extension you can create a plan (sitemap) how a web site

eclipse插件之Findbugs、Checkstyle、PMD安装及使用

一.什么是Findbugs.checkstyle.PMD Findbugs.checkstyle和PMD都可以作为插件插入eclipse,当然也有单独的工具可以实现他们的功能,比如Findbugs Tool就可以不必插入eclipse就可以使用. 三者的功能如下表: 工具 目的 检查项 FindBugs 检查.class 基于Bug Patterns概念,查找javabytecode(.class文件)中的潜在bug 主要检查bytecode中的bug patterns,如NullPoint空指

eclipse安装java ee插件方法步骤

1.本人以前使用的MyEclipse进行Javaweb开发,但是后来由于myeclipse实在太臃肿,经常在运行的过程中不流畅 (可能电脑内存也不是太高吧)   !所以坚决换用eclipse,但是问题来了,下载的eclipse因为是标准版所以也不支持Javaweb开发,所以要来配置一下开发环境,安装Javaee开发插件   ,以下为安装步骤 1.1 在Eclipse中菜单help选项中选择install new software选项 1.2 在work with 栏中输入 http://down

Myeclipse10 安装Aptana插件

安装步骤: 1.下载aptana3.2 Eclipse Plugin插件. 下载地址:http://update1.aptana.org/studio/3.2/024747/index.html 2.在java文件夹下新建文件夹pluginsNew,在里面新建aptana_update_024747文件夹(这个文件夹名根据自己下载的版本自己写),再在里面新建eclipse文件夹,解压出features与plugins文件夹,COPY到 D:\java\pluginsNew\aptana_upda

这是一款借助chrome 插件的微信机器人

1.chrome kit微信机器人简介(github:https://github.com/LinuxForYQH/chrome_kit) 借助chrome 插件 js注入来实现消息的发送 chrome devtool api的调用来监听https请求 打开微信登录界面,在扫码登录前必须先打开toolbar(F12 或者 鼠标右键检查),如上所说因为借助了chrome devtool api所以需要打开toolbar才能执行相关dev域的js. 2.相关开发原理介绍 https://develo

使用插件bootstrap-table实现表格记录的查询、分页、排序等处理

在业务系统开发中,对表格记录的查询.分页.排序等处理是非常常见的,在Web开发中,可以采用很多功能强大的插件来满足要求,且能极大的提高开发效率,本随笔介绍这个bootstrap-table是一款非常有名的开源表格插件,在很多项目中广泛的应用.Bootstrap-table插件提供了非常丰富的属性设置,可以实现查询.分页.排序.复选框.设置显示列.Card view视图.主从表显示.合并列.国际化处理等处理功能,而且该插件同时也提供了一些不错的扩展功能,如移动行.移动列位置等一些特殊的功能,插件可

页面滚动图片等元素动态加载插件jquery.scrollLoading.js

如果一个网页很长,那么该页面的加载时间也会相应的较长.而这里给大家介绍的这个jQuery插件scrollLoading的作用则是,对页面元素进行动态加载,通俗的说就是滚到哪就加载到哪,屏幕以下看不见的就不用加载了.这样还可以在一定程度上节省服务器资源.该插件作者的网页将该插件的功能和使用方法描述的非常详细,这里把最一般最普遍的使用情况给大家展现一下. 插件作者:http://www.zhangxinxu.com/ 首先我们需要加载jQuery库和本插件js文件. (jquery.scrollLo

怎样将「插件化」接入到项目之中?

本期移动开发精英社群讨论的主题是「插件化」,上网查了一下,发现一篇 CSDN 博主写的文章<Android 使用动态载入框架DL进行插件化开发>.此处引用原作者的话: 随着应用的不断迭代,应用的体积不断增大,项目越来越臃肿,冗余添加.项目新功能的加入,无法确定与用户匹配性,发生严重异常往往牵一发而动全身,仅仅能紧急公布补丁版本号,强制用户进行更新.结果频繁的更新.反而easy减少用户使用黏性,或者是公司业务的不断发展,同系的应用越来越多,传统方式须要通过用户量最大的主项目进行引导下载并安装.

Android插件实例——360 DroidPlugin具体解释

在中国找到钱不难,但你的一个点子不意味着是一个创业.你谈一个再好的想法,比方我今天谈一个创意说,新浪为什么不收购GOOGLE呢?这个创意非常好.新浪一收购GOOGLE.是不是新浪就变成老大了?你从哪儿弄来钱?怎么去整合GOOGLE呢: 之前写过有关于Android 插件方向的文章,解析了一下Android的插件原理与执行方式.非常多小伙伴都问我.为什么不把我制作的插件放到Github上,让大家共享一下. 我仅仅能说.大哥啊,这个插件是我在公司研发的时候制作的,商业机密.不能开源啊. 刚好.近期逛