专题1234导航

如何用JQuery实现指针动态旋转

来源:互联网
发表时间:2017/4/19 20:44:45
责任编辑:王亮
字体:
为了帮助网友解决“如何用JQuery实现指针动态旋转”相关的问题,mr007通过互联网对“如何用JQuery实现指针动态旋转”相关的解决方案进行了整理,用户详细问题包括:写了一个指针,表盘是图片,指针一开始指向数值500,指向0时,旋转-220度,请问怎么能让指针随数值的改变而改变点击图片看大图mr007 www.xue163.com

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
<style type="text/css">
.charta{
width: 216px;
    height: 218px;
    margin-top: 62px;
    background: url(img/999_06.png) no-repeat;
    background-size: 100% 100%;
    margin-left: 5px;
}
.needlea {
  position: absolute;
  top: 172px;
  left: 114px;
  -webkit-transform: rotate(45deg);
  -moz-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  -o-transform: rotate(45deg);
  transform: rotate(45deg);
  z-index: 1;
}
.screw {
  position: absolute;
  top: -13px;
  left: -13px;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  width: 26px;
  height: 26px;
  background: #ebe7e8;
  border-radius: 13px;
  box-shadow: inset -1px 1px 1px white, inset 1px -1px 1px rgba(0, 0, 0, 0.25), -2px 2px 6px rgba(0, 0, 0, 0.25), 15px 5px 10px rgba(8, 42, 119, 0.25);
  -webkit-transform: translate3d(0, 0, 2);
  -moz-transform: translate3d(0, 0, 2);
  -ms-transform: translate3d(0, 0, 2);
  -o-transform: translate3d(0, 0, 2);
  transform: translate3d(0, 0, 2);
  z-index: 2;
}

.after {
  content: '\20';
  position: absolute;
  top: -70px;
  left: -6px;
  width: 2px;
  border-style: solid;
  border-width: 0 6px 70px 6px;
  border-color: transparent transparent #fff transparent;
  box-shadow: 12px 4px 10px rgba(8, 42, 119, 0.2);
  -webkit-transform-origin: bottom center;
  -moz-transform-origin: bottom center;
  -ms-transform-origin: bottom center;
  -o-transform-origin: bottom center;
  transform-origin: bottom center;
}
</style>
</head>
<body style="background:#000;">
<div class="charta">
<div class="needlea">
<div class="screw screwa"></div>
<div class="after"></div>
</div>
</div>
<script src="http://www.xue163.com/js/jquery-1.8.3.min.js"></script>

</body>
</html>
,具体解决方案如下:
解决方案1:
css3 transform roate 属性,自己了解一下吧。

剩下的就是角度的计算,半盘400,那整盘800,自己算一下就行啦。

默认指针指向0,roate也为0,然后变500,指向500/800*360,重新设置指针样式transform:roate(225deg);

不晓得这样说你理解没。。
解决方案2:
- -看了下代码,你好像只是想加上动态效果,那就给  needlea加上样式  transition: all 0.2s;就好了呀。

每次重新设置rotate的时候就有动画效果了。

解决方案3:
.needlea {
  position: absolute;
  top: 172px;
  left: 114px;
  -webkit-transform: rotate(45deg);
  -moz-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  -o-transform: rotate(45deg);
  transform: rotate(45deg);
  z-index: 1;
  transition:all 0.2s; // 加个这个,意思是变换时间持续0.2S,兼容代码自己写一下
}

然后JS更改样式:

setInterval(function(){
    var x = -Math.random()*180;$('.needlea').css('transform','rotate('+x+'deg)');
},100)
我这里是100毫秒重新设置一个值,具体要怎么设置,你自己写一下吧。
解决方案4:
function rotate(n) {
var t = 45-220*(500-n)/500;
document.querySelector(".needlea").style.webkitTransform = "rotate("+t+"deg)";
document.querySelector(".needlea").style.mozTransform = "rotate("+t+"deg)";
document.querySelector(".needlea").style.msTransform = "rotate("+t+"deg)";
document.querySelector(".needlea").style.oTransform = "rotate("+t+"deg)";
document.querySelector(".needlea").style.transform = "rotate("+t+"deg)";
}

rotate(400);
解决方案5:
jQuery.Rotate插件,配置animateTo就行了

http://bbs.csdn.net/topics/392157080
www.xue163.com true http://www.xue163.com/588880/39215/392157927.html report 6065 如何用JQuery实现指针动态旋转:解决方案1:css3 transform roate 属性,自己了解一下吧。剩下的就是角度的计算,半盘400,那整盘800,自己算一下就行啦。默认指针指向0,roate也为0,然后变500,指向500/800*360,重新设置指针样式transform:roate(225deg);不晓得这样说你理解没。。解决方案2:- -看了下代码,你好像只是想加上动态效果,那就给  needlea加上样式  transition: ...
最近关注
首页推荐
热门图片
最新添加资讯
24小时热门资讯
精彩资讯
精彩推荐
热点推荐
真视界
精彩图片
社区精粹
关于本站 | 广告服务 | 手机版 | 商务合作 | 免责申明 | 招聘信息 | 联系我们
Copyright © 2004-2016 Xue163.com All Rights Reserved. mr007 版权所有
京ICP备10044368号-1 京公网安备11010802011102号