支持IE,firefxo,chrome瀏覽器下鼠標拖動和拖拽的鼠標指針特效
更新時間:2015年02月01日 16:47:24 投稿:mdxy-dxy
這篇文章主要分享一個鼠標拖動的層的實例,支持谷歌瀏覽器,firefox,ie等瀏覽器,需要的朋友可以測試下
核心代碼:
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>鼠標拖動和拖拽的鼠標指針特效</title>
<style>
#box{width:100px;height:100px;background:#966;position:absolute;left:100px;top:100px;cursor:pointer;}
</style>
</head>
<body>
<div id="box"></div>
<script>
var doc=document;
function getViewport(){
return {width:Math.max(document.documentElement.clientWidth,document.documentElement.scrollWidth),
height:Math.max(document.documentElement.clientHeight,document.documentElement.scrollHeight)
};
}
function compareNum(x,minNum,maxNum){
switch(true){
case x<minNum:x=minNum;break;
case x>maxNum:x=maxNum;break;
default:x;
}
return x;
}
box.style.left='100px'
box.style.top='100px'
box.onmousedown=function(e){
var e=e||window.event;
var maxL=getViewport().width-100,
maxT=getViewport().height-100;
this.startL=parseInt(this.style.left);
this.startT=parseInt(this.style.top);
//alert(e.clientX)
this.startX=e.clientX;
this.startY=e.clientY;
//alert(maxL+':'+maxT+':'+L+':'+T)
doc.onmousemove=function(e){
posXY(e,0,0,maxL,maxT);
};
doc.onmouseup=function(){
doc.onmousemove=null;
doc.onmouseup=null;
};
return false;
}
function posXY(e,minL,minT,maxL,maxT){
var e=e||window.event;
var x=box.startL-(box.startX-e.clientX);
var y=box.startT-(box.startY-e.clientY);
box.style.left=compareNum(x,minL,maxL)+'px'
box.style.top=compareNum(y,minT,maxT)+'px'
}
</script>
</body>
</html>
[Ctrl+A 全選 注:引入外部Js需再刷新一下頁面才能執(zhí)行]
相關文章
js實現(xiàn)完美拖拽效果可拖動層與回放拖動規(guī)跡并顯示拖動距離參數(shù)
一個完美的JS拖拽功能,實現(xiàn)層在網(wǎng)頁上任意拖動,還可回放拖動規(guī)跡,而且在拖動時顯示拖動距離參數(shù)等相關屬性。經(jīng)本人測試兼容性也是相當不錯的代碼,學習JavaScript的朋友,可以拿來研究研究,您可不要錯過哦2012-12-12
js漂浮廣告實現(xiàn)代碼(合集經(jīng)典) 符合W3C
js漂浮廣告實現(xiàn)代碼,實際上就是一個來回滾動的小圖片,碰到邊緣就返回,也是一種廣告形式,需要的朋友可以收藏下2012-04-04
支持IE,firefxo,chrome瀏覽器下鼠標拖動和拖拽的鼠標指針特效
這篇文章主要分享一個鼠標拖動的層的實例,支持谷歌瀏覽器,firefox,ie等瀏覽器,需要的朋友可以測試下2015-02-02
JS實現(xiàn)用鍵盤控制DIV上下左右+放大縮小與變色
用鍵盤控制DIV,紅色方塊為鍵盤操作區(qū)域,您可以進行如下操作:左右控制;背景變?yōu)榫G色;背景變?yōu)辄S色;背景變?yōu)樗{色放大或縮小2012-12-12

