关于移动div的具体实现(js)
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>移动框练习</title>
<style type = "text/css">
#big{width: 300px;height: 200px;position: absolute;top: 200px;left: 300px;background: #ccc;}
h1{width: 200px;height: 50px;line-height: 50px;text-align: center;background: orange;margin: 0 auto; cursor: move;}
</style>
</head>
<body>
<div id="big">
<h1 class="titl"></h1>
</div>
<script type="text/javascript">
//通过父元素获取到指定想要获取的元素。
function getClass(clsName,parent){
var oParent = parent?document.getElementById(parent):document;
var oH1 = oParent.getElementsByClassName(clsName)[0];
return oH1;
}
window.onload = drag;
//给h1添加按住的事件。
function drag(){
var h1Node = getClass("titl","big");
h1Node.onmousedown = fnDown;
}
//通过函数来获取指针的位置。
function fnDown(event) {
event = event || window.event;
var oDiv = document.getElementById("big"),
//光标按下时光标和面板之间的距离。
disX = event.clientX-oDiv.offsetLeft;
disY = event.clientY-oDiv.offsetTop;
document.onmousemove = function(event) {
event = event || window.event;
fnMove(event,disX,disY);
}
document.onmouseup = function(){
document.onmousemove = null;
}
}
function fnMove(e,posX,posY) {
var oDiv = document.getElementById("big"),
l = e.clientX-posX,
t = e.clientY-posY,
winW = document.documentElement.clientWidth || document.body.clientWidth,
winH = document.documentElement.clientHeight || document.body.clientHeight,
maxW = winW-oDiv.offsetWidth,
maxH = winH-oDiv.offsetHeight;
if (l<0) {
l=10;
} else if(l>maxW){
l=maxW;
}
if (t<0) {
t=10;
} else if(t>maxH){
t=maxH;
}
oDiv.style.left = l+"px";
oDiv.style.top = t+"px";
}
</script>
</body>
</html>
关于移动div的具体实现(js)的更多相关文章
- 动态添加div及对应的js、css文件
动态添加div及对应的js.css文件 在近期的项目开发中需要在首页中添加很多面板型的div,直接加载代码显得很繁琐,于是利用js封装一个动态添加div及其对应css文件和js文件的方法供大家参考使用 ...
- making a resizable div effect in vanilla js
making a resizable div effect in vanilla js scroll image compare <!DOCTYPE html> <html lang ...
- js文件需要jsp页面中的div时,此js文件必须在div之后才能获得值,否则获取不到
js文件需要jsp页面中的div时,此js文件必须在div之后才能获得值,否则获取不到 2.图2的内容为directionkey.js的内容
- 页面的div中有滚动条,js实现刷新页面后回到记录时滚动条的位置
当div中绑定数据,给它一个属性overflow-y: scroll,添加长度大小,使其能够出现滚动条:每次刷新的时候滚动条总是会出现在最上方,这使我很头疼,经过查阅网上资料,返现两种方法可行.如下: ...
- jquery load加载页面内ajax返回的div不能响应页面js的问题的解决方案
1. 前言 由于项目需要,需要load一个页面并保持ajax返回的div能响应其页面内的JS的click事件.这个不是 解决用jquery load加载页面到div时,不执行页面js的问题 这类问题, ...
- 页面DIV弹出层 JS原生脚本
<script type="text/javascript"> /* * 弹出DIV层 */ function showDiv() { ...
- js 实现div模块的截图并下载功能(可制作长图)
当需要实现html页面部分模块截图并具有保存图片功能时,前台直接生成截图并下载会方便的多.多的不说,直接看代码首先我们需要引入2个js文件: <script type="text/ja ...
- JaveWeb 公司项目(7)----- 通过JS动态生成DIV
Web网页项目的数据表格功能已经大体完成,下面是另一个主要功能,在线视频的显示 目前我做的项目是渔政监控方面,在之前C#的版本中已经实现了摄像头的在线监控,用的海康封装好的SDK,目前需要做的工作是在 ...
- js改变div高度
用bootsrap响应式布局的时候,遇到个很恶心的问题:左边栏很短很难看!! 于是,想用js来自动改变左边的高度,没成功!!原来是设置的时候,没加单位,坑爹了. 参考:http://blog.sina ...
- js循环复制一个div
<html> <head> <title>Test of cloneNode Method</title> <script type=" ...
随机推荐
- 17 Great Machine Learning Libraries
17 Great Machine Learning Libraries 08 October 2013 After wonderful feedback on my previous post on ...
- Redis 和 Memcached 的区别详解
Redis的作者Salvatore Sanfilippo曾经对这两种基于内存的数据存储系统进行过比较: Redis支持服务器端的数据操作:Redis相比Memcached来说,拥有更多的数据结构和并支 ...
- Javascript and AJAX with Yii(在yii 中使用 javascript 和ajax)
英文原文:http://www.yiiframework.com/wiki/394/javascript-and-ajax-with-yii /*** http://www.yiiframework. ...
- B树,B-树,B+树,B*树
B树 即二叉搜索树: 1.所有非叶子结点至多拥有两个儿子(Left和Right): 2.所有结点存储一个关键字: 3.非叶子结点的左指针指向小于其关键字的子树,右指针指向大于其关键字的子树: 如: B ...
- 命令 "sudo -H" 中的这个 "H" 什么作用?
脚本中使用$HOME变量 问题描述:某些同事原来写的脚本中包含如下内容. BIN_DIR=${HOME}/tools TAIR_BIN_DIR=${HOME}/tair_bin TAIR_SRC_DI ...
- Android Studio 环境配置优化
一.插件 .ignore: 版本控制忽略文件高亮和补齐ADB Idea: ctrl + Shift + A 查找中添加常用卸载安装app的一些操作,无需命令行Android ButterKnife Z ...
- [翻译] GVUserDefaults
GVUserDefaults Tired of writing all that code to get and set defaults in NSUserDefaults? Want to hav ...
- Conditionals with Omitted Operands (x ? : y)
Conditionals with Omitted Operands The middle operand in a conditional expression may be omitted. Th ...
- SQL SERVER 中如何将NULL转换为0
select isnull(fieldname,0) from tablename 如果字段fieldname的值是null,则结果是0
- sed和awk最佳入门教程
文档<sed和awk最佳入门教程>——摘自<实战linux shell编程与服务器管理>,简单易懂,适合初学者. 下载地址:http://download.csdn.net/d ...