为了账号安全,请及时绑定邮箱和手机立即绑定

求大牛指导代码的含义

求大牛指导代码的含义

刚毅87 2016-07-26 21:51:07
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title></title> <style type="text/css"> * { margin: 0; padding: 0; } body { perspective: 1000px; } #wrap { width: 200px; height: 200px; margin: 200px 200px; border: 1px solid black; position: relative; transform-style: preserve-3d; } #wrap>div { width: 100%; height: 100%; border: 1px solid red; position: absolute; top: 0; } </style> </head> <body> <div id="wrap"> <div id="div1"></div> <div id="div2"></div> <div id="div3"></div> <div id="div4"></div> <div id="div5"></div> <div id="div6"></div> </div> </body> <script type="text/javascript"> var wrap = document.getElementById('wrap'); var divs = wrap.getElementsByTagName('div'); var whole = document.getElementById("whole"); for(var i = 0; i < 4; i++) { divs[i].style.transform = "rotateY(" + i * 90 + "deg) translateZ(100px)"; } for(var i = 4; i < 6; i++) { divs[i].style.transform = "rotateX(" + Math.pow(-1, i) * 90 + "deg) translateZ(" + Math.pow(-1, i) * 100 + "px)"; } var isMoving = false; var lastMouseX = 0; var lastMouseY = 0; var curMouseX = 0, curMouseY = 0; var lastAngleX = 0, lastAngleY = 0; var angleX = 0, angleY = 0; document.addEventListener("mousedown", mouseDownHandler); document.addEventListener("mouseup", mouseUpHandler); function mouseDownHandler(e) { lastMouseX = e.clientX; lastMouseY = e.clientY; lastAngleX = angleX; lastAngleY = angleY; curMouseX = e.clientX; curMouseY = e.clientY; document.addEventListener("mousemove", mouseMoveHandler); } function mouseMoveHandler(e) { curMouseX = e.clientX; curMouseY = e.clientY; angleX += (curMouseX - lastMouseX + lastAngleX - angleX) * 0.3; angleY += (curMouseY - lastMouseY + lastAngleY - angleY) * 0.3; angleY = Math.max(-60, Math.min(60, angleY)); console.log(angleY); wrap.style.transform = "rotateX(" + angleY + "deg)"; wrap.style.transform = "rotateY(" + angleX + "deg)"; } function mouseUpHandler(e) { curMouseX = e.clientX; curMouseY = e.clientY; document.removeEventListener("mousemove", mouseMoveHandler); } //刷新场景 requestAnimationFrame = window.requestAnimationFrame || window.mozRequestAnimationFrame || window.webkitRequestAnimationFrame || window.msRequestAnimationFrame || window.oRequestAnimationFrame || function(callback) { setTimeout(callback, 1000 / 60); } </script> </html>上面代码中的一部分var isMoving = false; var lastMouseX = 0; var lastMouseY = 0; var curMouseX = 0, curMouseY = 0; var lastAngleX = 0, lastAngleY = 0; var angleX = 0, angleY = 0; document.addEventListener("mousedown", mouseDownHandler); document.addEventListener("mouseup", mouseUpHandler); function mouseDownHandler(e) { lastMouseX = e.clientX; lastMouseY = e.clientY; lastAngleX = angleX; lastAngleY = angleY; curMouseX = e.clientX; curMouseY = e.clientY; document.addEventListener("mousemove", mouseMoveHandler); } function mouseMoveHandler(e) { curMouseX = e.clientX; curMouseY = e.clientY; angleX += (curMouseX - lastMouseX + lastAngleX - angleX) * 0.3; angleY += (curMouseY - lastMouseY + lastAngleY - angleY) * 0.3; angleY = Math.max(-60, Math.min(60, angleY)); console.log(angleY); wrap.style.transform = "rotateX(" + angleY + "deg)"; wrap.style.transform = "rotateY(" + angleX + "deg)"; }求大牛指导代码的含义,小白实在是看不懂,重点是下面两句话angleX += (curMouseX - lastMouseX + lastAngleX - angleX) * 0.3; angleY += (curMouseY - lastMouseY + lastAngleY - angleY) * 0.3;不胜感激!
查看完整描述

1 回答

已采纳
?
KXFT

TA贡献113条经验 获得超58个赞

angleX += (curMouseX - lastMouseX + lastAngleX - angleX) * 0.3就是angleX =angleX+ (curMouseX - lastMouseX + lastAngleX - angleX) * 0.3啊,就是一个简便写法

查看完整回答
反对 回复 2016-07-26
  • 刚毅87
    刚毅87
    += 的含义我知道,我想问代码实现的作用
  • KXFT
    KXFT
    就是普通的四则运算啊,上面不是都给他们赋值了嘛
  • 1 回答
  • 0 关注
  • 1819 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信