js原生rotate函数





Document

div{
width: 300px;
height: 20px;
background: red;
margin: 100px 200px;
}




var div = document.getElementsByTagName('div')[0]; rotate(div,'250px','10px'); function rotate(obj,orx,ory){ var enddeg=0; obj.οnmοusedοwn=function(ev){ var onoff=0; var startdeg=0; var ndeg=0; if(obj.setCapture) obj.setCapture(); obj.style.transformOrigin=''+orx+' '+ory+'' var disx=obj.offsetLeft; var disy=obj.offsetTop; if(orx=='center'){ disx+=obj.offsetWidth/2; } if(orx=='right'){ disx+=obj.offsetWidth; } var tx=parseInt(orx.substring(0,orx.length-2)); if(orx.substring(orx.length-2)=='px'){ disx+=tx; } if(ory=='top'){ disy-=obj.offsetHeight/2; } if(ory=='bottom'){ disy+=obj.offsetHeight/2; } var ty=parseInt(ory.substring(0,ory.length-2)) if(ory.substring(ory.length-2)=='px'){ disy+=ty; } if(ev.clientX-disx>0){ var x=ev.clientX-disx; var y=ev.clientY-disy; startdeg=Math.atan(y/x)*180/Math.PI }else if(ev.clientY-disy>0){ var x=ev.clientX-disx; var y=ev.clientY-disy; startdeg=Math.atan(-x/y)*180/Math.PI+90 }else{ var x=ev.clientX-disx; var y=ev.clientY-disy; startdeg=Math.atan(y/x)*180/Math.PI+180 } document.οnmοusemοve=function(ev){ var x=ev.clientX-disx; var y=ev.clientY-disy; ndeg=Math.atan(y/x)*180/Math.PI; if(x
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值