博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
jq 鼠标旋转控制也能3d旋转
阅读量:6992 次
发布时间:2019-06-27

本文共 1354 字,大约阅读时间需要 4 分钟。

//在写css3的3d动画的时候 有时候会想不到3d效果,为了方便观察元素到底在页面的3d的那个位置,写了这个鼠标移动事件来旋转页面方便查看元素位置 var rox=0; var roy=0; var xn= 0,yn=0; var play=false;
$(document).mousedown(function(ev){
clearInterval(play); var x_=ev.clientX; var y_=ev.clientY; $(this).bind("mousemove",function(ev){
var x=ev.clientX; var y=ev.clientY; xn= x-x_; yn= y-y_; roy += xn*0.2; rox -= yn*0.1; //camera.position.z =400; camera.position.x =roy; camera.position.y =rox; camera.rotation.x =rox* Math.PI /180; camera.rotation.y =roy* Math.PI /180;
//这个是在页面加个红色小方块检测鼠标的位置
// $("body").append('
')
//这里就是要旋转的元素 这里写了body,也可以写div啊啥的盒子东西             $("body").css({
"transform-style": "preserve-3d", "transform":'perspective(800px) rotateX('+rox+'deg) rotateY('+roy+'deg)', "-webkit-transform":'perspective(800px) rotateX('+rox+'deg) rotateY('+roy+'deg)' }); x_=ev.clientX; y_=ev.clientY; }) }).mouseup(function(){
$(this).unbind("mousemove"); var play= setInterval(function(){
xn*=0.95; //xn=xn*0.95 yn*=0.95; if(Math.abs(xn)<1&&Math.abs(yn)<1){
clearInterval(play); } roy += xn*0.2; rox -= yn*0.1; camera.position.x =roy; camera.position.y =rox; camera.rotation.x =rox* Math.PI /180; camera.rotation.y =roy* Math.PI /180; },30) })

转载于:https://www.cnblogs.com/fstgshow/p/5394740.html

你可能感兴趣的文章
当Kubernets遇上阿里云 -之七层负载均衡(一).
查看>>
Windows 去除打开exe文件安全警告
查看>>
mac系统下nginx的详细安装过程及使用(适合新手)
查看>>
C++网络服务器编程的学习路线?
查看>>
C# 批量复制文件
查看>>
Starting MySQL. ERROR! The server quit without updating PID file (/data/mysql/mysql.pid).
查看>>
在Android中,px,dp,dip,sp的不同之处
查看>>
Java Reflection(八):注解
查看>>
经营成功的测试生涯
查看>>
btrace记忆
查看>>
<font color="red">[置顶]</font>
查看>>
Android属性动画完全解析(中),ValueAnimator和ObjectAnimator的高级用法
查看>>
Spring动态调用
查看>>
Linux字符设备驱动之异步通知
查看>>
八月,整理一些无聊的资料,以便无聊的时候看
查看>>
javaScript:块级作用域学习笔记
查看>>
时序数据异常检测(2)指数平滑方法
查看>>
AQS同步组件--ReentrantLock与锁
查看>>
Android工程集成flutter
查看>>
人工智慧也能作曲?使用人工智能算法做出来的重金属音乐
查看>>