0324 JS
2017-03-24 21:23
225 查看
运动
闪动,直接赋值匀速运动,num=num+n(n为常数)
缓动(先快后慢,或者先慢后快)
num = num + (终值-num)/10;结果会无限接近终值,但不能达到终值,所以最后最好加一个判定条件让值最后到达目标值,否值会一直处于无限循环计算状态。示例代码如下:
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Document</title> <style> #move{ width: 100px; height: 100px; background-color: red; position: relative; } </style> </head> <body> <div id="move"></div> <script> var move = document.getElementById('move'); var num = 0; function Move(){ if(num<499){ //若不需要严格到达目标值500,设置比500小即可 // 先快后慢缓动 num = num +(500-num)/50; move.style.left= num +"px" } //到达一定条件跳出上面无限逼近的计算; else if(num>499){ num = 500; move.style.left= num +"px"; clearInterval(t); } } var t = setInterval(Move,10)//定时器调用函数 </script> </body> </html>
无缝banner图:
无缝的关键是,第1张图在末尾还要拼接1次;(如果banner宽度可以呈现多少张,就要在末尾拼接多少张)如下为轮播4张图的代码:
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>无缝滚动</title> <style> *{ margin: 0; padding: 0; } #box{ width: 600px; height: 200px; margin: 50px auto 0; position: relative; overflow: hidden; } #content{ width: 1800px; height: 200px; position: absolute; } #content li{ list-style-type: none; float: left; } </style> </head> <body> <div id="box"> <ul id="content"> <li><img src="01.jpg" alt=""></li> <li><img src="02.jpg" alt=""></li> <li><img src="03.jpg" alt=""></li> <li><img src="04.jpg" alt=""></li> <!-- 为了实现无缝连接,重复出现两张图,这样跳转的时候才不会出现断层的现象 --> <li><img src="01.jpg" alt=""></li> <li><img src="02.jpg" alt=""></li> </ul> </div> <script> var content = document.getElementById('content'); var box = document.getElementById('box'); function move(){ var Left_value = content.offsetLeft; // 对于判定条件的设定,仍然是4张图的宽度,而不是6张 if(Left_value>-1200){ Left_value--; content.style.left=Left_value+"px"; } else if(Left_value=-1200){ Left_value = 0; content.style.left=Left_value+"px"; } } // 利用定时器重复执行移动函数,实现无缝滚动 function star(){ var t = setInterval(move,10); // 鼠标悬浮时跳出定时器,必须写在执行移动的函数内部 box.onmouseover = function(){ clearInterval(t); } } star();//初次启动函数 //鼠标离开时,执行移动函数 box.onmouseout = function(){ star(); } </script> </body> </html>
相关文章推荐
- XML + XSL + JS 构建小型Web App (十四)
- Node.js(day5)
- 给初学者提供几本学习js值得看的书
- XML + XSL + JS 构建小型Web App (十三)
- XML + XSL + JS 构建小型Web App (十)
- XML + XSL + JS 构建小型Web App (十一)
- XML + XSL + JS 构建小型Web App (十二)
- XML + XSL + JS 构建小型Web App (八)
- XML + XSL + JS 构建小型Web App (九)
- XML + XSL + JS 构建小型Web App (二)
- XML + XSL + JS 构建小型Web App (三)
- XML + XSL + JS 构建小型Web App (四)
- XML + XSL + JS 构建小型Web App (五)
- XML + XSL + JS 构建小型Web App (六)
- XML + XSL + JS 构建小型Web App (七)
- XML + XSL + JS 构建小型Web App (一)
- ASP+JS时的"""
- XML + XSL + JS 构建小型Web App (十五)
- 真正的 用JS 做的 loading
- JS版常见问题(二)兼容版本的无提示关闭窗口!