最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 科技 - 知识百科 - 正文

js中抖动的实现原理(附代码)

来源:动视网 责编:小采 时间:2020-11-27 19:32:22
文档

js中抖动的实现原理(附代码)

js中抖动的实现原理(附代码):本篇文章给大家带来的内容是关于js中抖动的实现原理(附代码) ,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。实现原理抖动的实现原理其实就是让节点元素进行位置的偏移,所以在实现此功能的时候最好节点元素进行绝对定位,然后来修改它
推荐度:
导读js中抖动的实现原理(附代码):本篇文章给大家带来的内容是关于js中抖动的实现原理(附代码) ,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。实现原理抖动的实现原理其实就是让节点元素进行位置的偏移,所以在实现此功能的时候最好节点元素进行绝对定位,然后来修改它


本篇文章给大家带来的内容是关于js中抖动的实现原理(附代码) ,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。

实现原理

抖动的实现原理其实就是让节点元素进行位置的偏移,所以在实现此功能的时候最好节点元素进行绝对定位,然后来修改它们的top和left值。
这里有几个要点,第一是要准备好需要偏移的频率,这个可以通过把偏移距离放到数组中来控制偏移距离,偏移距离跳动幅度越小,效果就越平稳。定时器时间决定了节点抖动的速度。

代码如下:

<!DOCTYPE html>
<html>
<head>
 <meta charset="utf-8">
 <meta name="viewport" content="width=device-width, initial-scale=1">
 <title>Made with Thimble</title>
 <link rel="stylesheet" href="style.css">
 <style>
 img{
 width:300px;
 height: 400px;
 position:absolute;
 top:20px;
 left:150px;
 }
 </style>
</head>
<body>
<img id="img1" src="https://newimg.uumnt.cc:8092/Pics/2017/0622/03/06.jpg">
</body>
<script>
 var oImg = document.getElementById('img1');
 oImg.onclick = function(){
 //this 到函数里面作用域会变,这里赋值先变成局部
 var that = this;
 shaking(that,'top',function(){
 shaking(that,'left');
 });
 };

 // 抖动函数封装 attr:left水平抖动 top:垂直抖动
 function shaking(obj,attr,callback){
 var pos = parseInt(getStyle(obj,attr));
 var arr = [];
 var num = 0;
 for(var i=20;i>0;i-=2){
 arr.push(i,-i);
 }
 arr.push(0);
 clearInterval(obj.shaking);
 obj.shaking = setInterval(function(){
 obj.style[attr] = pos + arr[num] + 'px';
 num ++;
 if(num === arr.length){
 clearInterval(obj.shaking);
 callback && callback();
 }
 },50);
 }

 // 获取节点对象的样式属性值
 function getStyle(obj,attr){
 if(obj.currentStyle){
 return obj.currentStyle[attr];
 }else{
 return window.getComputedStyle(obj,false)[attr];
 }
 }
</script>
</html>

文档

js中抖动的实现原理(附代码)

js中抖动的实现原理(附代码):本篇文章给大家带来的内容是关于js中抖动的实现原理(附代码) ,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。实现原理抖动的实现原理其实就是让节点元素进行位置的偏移,所以在实现此功能的时候最好节点元素进行绝对定位,然后来修改它
推荐度:
标签: 原理 实现 代码
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top