原生js实现——轮播图效果
2016-07-25 12:21
771 查看
实现点击左右箭头时滚动一张图片,当图片滚动到末尾时,响应的箭头变为不可点击状态,并实现图片随着鼠标滚动进行响应的滚动。
<!DOCTYPE HTML> <html lang="en"> <head> <title>图片轮播展示</title> <meta charset="utf-8"> <style type="text/css"> *{ padding:0; margin:0; } #slide{ width:900px; height:200px; position:relative; border:1px solid #ccc; margin:20px auto; } .content{ position: absolute; width:740px; height:180px; border:1px solid #ccc; overflow: hidden; margin:auto; left:0; right:0; top:0; bottom:0; } ul li{ list-style: none; width:100px; height:160px; float:left; margin-left: 20px; margin-top:10px; } ul li img{ width:100px; height:160px; } #slide ul{ position:absolute; -webkit-transition:all .27s ease-in; -moz-transition:all .27s ease-in; -o-transition:all .27s ease-in; transition:all .27s ease-in; } .move{ width:50px; height:100px; cursor: pointer; margin-top: 40px; } #prev{ float:left; } #next{ float:right; } </style> </head> <body> <div id="slide" > <div > <img id="prev"class="move"src="images/prev.png"href="javascript:;"> </div> <div class="content"> <ul> <li><img src="images/1.jpg" alt=""></li> <li><img src="images/2.jpg" alt=""></li> <li><img src="images/3.jpg" alt=""></li> <li><img src="images/4.jpg" alt=""></li> <li><img src="images/5.jpg" alt=""></li> <li><img src="images/6.jpg" alt=""></li> <li><img src="images/7.jpg" alt=""></li> <li><img src="images/8.jpg" alt=""></li> <li><img src="images/9.jpg" alt=""></li> </ul> </div> <div > <img id="next" class="move"src="images/next.png" href="javascript:;" > </div> </div> <script type="text/javascript"> var obj = document.getElementById('slide'); var next = document.getElementById('next'), prev = document.getElementById('prev'), ul = obj.getElementsByTagName('ul')[0], liArr = obj.getElementsByTagName('li'), li_width = liArr[0].offsetWidth + 20, li_length = liArr.length, show_length = 6, index = 0; function slide(){ ul.style.width = li_width * li_length + 'px'; ul.style.left = 0; } function animation(){ if(index <= 0){ prev.style.cursor = 'default'; next.style.cursor = 'pointer'; index = 0; }else if(index >= (li_length - show_length)){ prev.style.cursor = 'pointer'; next.style.cursor = 'default'; index = (li_length -show_length); } var goal = li_width * -index; ul.style.left = goal + 'px'; } obj.onmousewheel = function(e){ var d = parseInt(e.wheelDelta)> 0 ? -1:1; //判断滚动方向 index += 1*d; animation(); } next.onclick = function(e){ var target = e.target; prev.style.cursor = 'pointer'; index += 1; animation(); } prev.onclick = function(e){ var target = e.target; next.style.cursor = 'pointer'; index -= 1; animation(); } slide(); </script> </body> </html>
相关文章推荐
- 利用函数节流来提升性能
- JavaScript encodeURI() 函数详解
- ExtJs6 时间转换为'x天','x小时','x分','x秒前'并且鼠标移上去悬浮提示具体时间
- js动态添加的DIV中的onclick事件简单实例
- JavaScript跨域总结与解决办法
- js使用ajax方法遇到的servlet传值失败的可能情况
- jsp静态包含和动态包含的区别?
- js日期函数
- extjs 框架模板
- AJAX(异步JavaScript和XML)注册账户实时验证
- js实现新闻列表自动滚动
- 通过JS自动隐藏手机浏览器的地址栏
- [JQ权威指南]JQ遍历JSON数据
- Javascript的比较汇总
- 截取字符串
- Spark对HDFS上json数据的简单操作
- JavaScript COOKIE 操作总结
- js和jstl标签混用,太强大了!
- js的全局变量和局部变量部分讲解
- 40元红包发10个人,每个人最多发6块解决方案。