js之滑鼠的拖曳效果
js之滑鼠的拖曳效果
效果如下:
下面是程式碼:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>滑鼠拖曳效果</title>
<style>
body{
background:black;
}
#box{
position:absolute;
background: rgb(148, 143, 143);
width: 400px;
height: 200px;
box-sizing: border-box;
border: white 2px solid;
}
.topTitle{
cursor: move;
border-bottom: white 2px solid;
background: #cccccc;
text-align: right;
color: white;
height: 20px;
line-height: 20px;
}
.content >div{
background: rgb(148, 143, 143);
height: 50px;
line-height: 50px;
color: white;
text-align: left;
}
</style>
</head>
<body>
<div id="box">
<div class="topTitle"><a href="#">點選回放拖動軌跡</a></div>
<div class="content">
<div>Drag:</div>
<div>offsetTop:</div>
<div>offsetLeft</div>
</div>
</div>
</body>
<script>
var oBox=document.getElementById("box");
var oTopTitle=document.getElementsByClassName("topTitle")[0];
var aDiv= document.querySelectorAll(".content >div");
var offWidth=document.documentElement.clientWidth;
var clHight=document.documentElement.clientHeight;
var i,t;
var state="false";
var oText=document.querySelector(".topTitle a");
oTopTitle.onmousedown=function(even){
var OffsetE=even||window.event;
var flag=true;
//設立邊界:
document.onmousemove=function(even){
state="true";
var ClientE=even||window.event;
l=ClientE.clientX-OffsetE.offsetX;
t=ClientE.clientY-OffsetE.offsetY;
recorde(l,t,flag);
if(l<0){
l=0;
}
if(t<0){
t=0;
}
if(l>offWidth-oBox.offsetWidth){
l=offWidth-oBox.offsetWidth;
}
if(t>clHight-oBox.offsetHeight){
t=clHight-oBox.offsetHeight;
}
oBox.style.left=l+"px";
oBox.style.top=t+"px";
}
document.onmouseup=function(){
console.log(1);
state="false";
document.onmousemove=null;
document.onmouseup=null;
}
OffsetE.preventDefault();
flag=false;
}
oText.onclick=function(){
var reback=recorde(l,t);
var index=reback.strX.length;
setInterval(function(){
if(index<0){
clearInterval();
return;
}
oBox.style.left=reback.strX[index--]
+"px";
oBox.style.top=reback.strY[index--]+"px";
},30);
strX=[];
strY=[];
}
var strX=[];
var strY=[];
function recorde(offsetTop,offsetLeft,flag){
var text1=aDiv[1].innerText;
aDiv[0].innerHTML="Drag:"+"<span style='color:yellow'>"+state+"</span>";
aDiv[1].innerHTML="offsetTop:"+"<span style='color:yellow'>"+offsetTop+"</span>";
aDiv[2].innerHTML="offsetLeft:"+"<span style='color:yellow'>"+offsetLeft+"</span>";
strX.push(offsetTop) ;
strY.push(offsetLeft);
// console.log(strX);
// console.log(strY);
return {
strX,
strY
}
}
</script>
</html>
相關文章
- js實現彈出層滑鼠跟隨效果JS
- js滑鼠懸浮字串實現字串跳動效果JS字串
- js滑鼠懸浮連結背景動畫方式漸變效果JS動畫
- js滑鼠拖動立方體3D運動效果JS3D
- Magnifier.js - 支援滑鼠滾輪縮放的圖片放大鏡效果NifiJS
- js滑鼠移動實現圖片立體滾動效果JS
- 如何不使用js實現滑鼠hover彈出選單效果JS
- js文字內容感應滑鼠懸浮效果程式碼例項JS
- js table滑鼠懸浮當前行高亮和切換資料效果JS
- jQuery隨滑鼠旋轉的圖形效果jQuery
- JavaScript跟隨滑鼠移動的圖片效果JavaScript
- css實現的滑鼠滑過星星高亮效果CSS
- Js滑鼠畫龍JS
- CSS 滑鼠懸浮動畫暫停效果CSS動畫
- css滑鼠懸浮下拉選單效果CSS
- jQuery滑鼠懸浮翻牌效果詳解jQuery
- jQuery滑鼠懸浮聚焦效果詳解jQuery
- JavaScript 跟隨滑鼠指標的粒子效果JavaScript指標
- 滑鼠放在圖片實現高亮效果
- JavaScript實用的表格行滑鼠點選高亮效果JavaScript
- jQuery跟隨滑鼠移動的彈出層效果jQuery
- 30種奇妙的滑鼠懸停效果【附原始碼】原始碼
- canvas實現的跟隨滑鼠的彩色絲帶效果Canvas
- javascript實現拖曳與拖放圖片JavaScript
- js跟隨滑鼠移動的元素JS
- JavaScript、CSS實現滑鼠跟隨繁花效果JavaScriptCSS
- JavaScript滑鼠懸浮出現下拉選單效果JavaScript
- CSS滑鼠懸浮行背景變色效果CSS
- css滑鼠懸浮div背景變色效果CSS
- javascript div元素滑鼠拖動效果詳解JavaScript
- 滑鼠懸浮div實現旋轉效果
- CSS3滑鼠懸浮元素放大效果CSSS3
- CSS滑鼠懸浮圖片動畫放大效果CSS動畫
- 不可思議的純 CSS 實現滑鼠跟隨效果CSS
- jquery實現在滑鼠點選處的炫酷效果jQuery
- JQuery滑鼠移到小圖顯示大圖效果的方法jQuery
- 線上直播原始碼,JS動態效果之,側邊欄滾動固定效果原始碼JS
- js學習之——網頁側邊欄廣告效果JS網頁