js 如何 实现div 在限定范围内托动 js 如何 实现div 在限定范围内托动 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 http://blog.csdn.net/IBM_hoojo/archive/2010/07/02/5708697.aspx如果要限制拖动的范围就控制下拖动的x、y坐标的值即可 http://blog.csdn.net/wtcsy/archive/2009/05/08/4161491.aspx第2个 在 ff下可以直接运行.... <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"><html lang="en"><head><title>Drag and Drop example</title><style type="text/css">#a {height:50px;width:50px;left:10px;top:50px;border:1px solid pink;position:absolute;background-color:#EFEFFF;}#b {height:50px;width:50px;left:70px;top:50px;border:1px solid pink;position:absolute;background-color:#FFEFFE;}</style><script type="text/javascript">/* Copyright Robert Nyman, http://www.robertnyman.com Free to use if this text is included // modified slightly based on Prototype*/function getStyle(oElm, strCssRule){ var strValue = ""; if(document.defaultView && document.defaultView.getComputedStyle){ var css = document.defaultView.getComputedStyle(oElm, null); strValue = css ? css.getPropertyValue(strCssRule) : null; } else if(oElm.currentStyle){ strCssRule = strCssRule.replace(/\-(\w)/g, function (strMatch, p1){ return p1.toUpperCase(); }); strValue = oElm.currentStyle[strCssRule]; } return strValue;}function Draggable(el){var xDelta = 0, yDelta = 0;var xStart = 0, yStart = 0;// remove the eventsfunction enddrag(){ document.onmouseup = null; document.onmousemove = null;}// fire each time it's draggedfunction drag(e){ e = e || window.event; xDelta = xStart - parseInt(e.clientX); yDelta = yStart - parseInt(e.clientY); xStart = parseInt(e.clientX); yStart = parseInt(e.clientY); if(xStart<300 && yStart<300){//设置限定范围内托动 el.style.top = (parseInt(el.style.top) - yDelta) + 'px'; el.style.left = (parseInt(el.style.left) - xDelta) + 'px'; }}// initiate the dragfunction md(e){ e = e || window.event; xStart = parseInt(e.clientX); yStart = parseInt(e.clientY); el.style.top = parseInt(getStyle(el,'top')) + 'px'; el.style.left = parseInt(getStyle(el,'left')) + 'px'; document.onmouseup = enddrag; document.onmousemove = drag; return false;}// tie it into the elementel.onmousedown = md;}window.onload = function(){new Draggable(document.getElementById('a'));new Draggable(document.getElementById('b'));}</script></head><body><div id="a">test</div><div id="b">test</div></body></html> xml代码美化 不修改代码open一个新窗口 改变div大小,ie下正确,ff下没一个正确 帮忙设计一个div FCKeditor 限制图片上传大小 ff下的背景色的改变 关闭 模态窗口的问题 请教 在线等-firefox缓存问题 大家帮帮忙啊,怎么实现网页中,"你的位置"这个功能 实现对上传图片的编辑,裁剪,翻转等,求指导 为什么在Firefox浏览器中这个JavaScript代码不能运行? js 设置 div 的宽度在firefox下如何实现
如果要限制拖动的范围就控制下拖动的x、y坐标的值即可
第2个 在 ff下可以直接运行....
<html lang="en">
<head>
<title>Drag and Drop example</title>
<style type="text/css">
#a {height:50px;width:50px;left:10px;top:50px;border:1px solid pink;position:absolute;background-color:#EFEFFF;}
#b {height:50px;width:50px;left:70px;top:50px;border:1px solid pink;position:absolute;background-color:#FFEFFE;}
</style>
<script type="text/javascript">
/*
Copyright Robert Nyman, http://www.robertnyman.com
Free to use if this text is included
// modified slightly based on Prototype
*/
function getStyle(oElm, strCssRule){
var strValue = "";
if(document.defaultView && document.defaultView.getComputedStyle){
var css = document.defaultView.getComputedStyle(oElm, null);
strValue = css ? css.getPropertyValue(strCssRule) : null;
}
else if(oElm.currentStyle){
strCssRule = strCssRule.replace(/\-(\w)/g, function (strMatch, p1){
return p1.toUpperCase();
});
strValue = oElm.currentStyle[strCssRule];
}
return strValue;
}
function Draggable(el)
{
var xDelta = 0, yDelta = 0;
var xStart = 0, yStart = 0;
// remove the events
function enddrag()
{
document.onmouseup = null;
document.onmousemove = null;
}
// fire each time it's dragged
function drag(e)
{
e = e || window.event;
xDelta = xStart - parseInt(e.clientX);
yDelta = yStart - parseInt(e.clientY);
xStart = parseInt(e.clientX);
yStart = parseInt(e.clientY);
if(xStart<300 && yStart<300){//设置限定范围内托动
el.style.top = (parseInt(el.style.top) - yDelta) + 'px';
el.style.left = (parseInt(el.style.left) - xDelta) + 'px';
}
}
// initiate the drag
function md(e)
{
e = e || window.event;
xStart = parseInt(e.clientX);
yStart = parseInt(e.clientY);
el.style.top = parseInt(getStyle(el,'top')) + 'px';
el.style.left = parseInt(getStyle(el,'left')) + 'px';
document.onmouseup = enddrag;
document.onmousemove = drag;
return false;
}
// tie it into the element
el.onmousedown = md;
}
window.onload = function()
{
new Draggable(document.getElementById('a'));
new Draggable(document.getElementById('b'));
}
</script>
</head>
<body>
<div id="a">test</div>
<div id="b">test</div>
</body>
</html>