完美实现js焦点轮播效果(一)


Posted in Javascript onMarch 07, 2017

最简单轮播形式,js中通过pic的display属性控制变换,也可通过调整Pic的margin-Left

效果如图:

完美实现js焦点轮播效果(一)

实现代码:

<!DOCTYPE html>
<html>
<head lang="en">
 <meta charset="UTF-8">
 <title></title>
 <style type="text/css">
*{
 margin: 0;
 padding: 0;
 list-style: none;
 text-decoration: none;
}
 .wrap{
 width: 490px;
 height: 170px;
 margin: 100px auto;
 border: 1px solid #000000;
 position: relative;
 overflow: hidden;
 }
 #pic{
 width: 2450px;
 height: 170px;
 }
 #pic li{
 float: left;
 }
 #list{
 position: absolute;
 bottom: 10px;
 left:150px ;
 }
 #list li{
 float: left;
 width: 15px;
 height: 15px;
 background: #fff;
 margin: 0 10px;
 border-radius: 50%;
 cursor: pointer;
 }
 #list .on{
 background: #e27a00;
 }
 .Prev{
 top: 30px;
 left: 0;
 }
 .Next{
 top: 30px;
 right: 0;
 }
 .Prev,.Next{
 position: absolute;
 font-size: 80px;
 font-weight: bold;
 color:#fff ;
 -webkit-transition: all 0.35s ease-in-out
 }
 .Next:hover,
 .Prev:hover{
 background: #ccc;
 background: rgba(204, 204, 204, 0.4);
 }
 .show{
 display: block;
 }
 .hidden{
 display: none;
 }
 </style>
 <script type="text/javascript">
 window.onload=function(){
 var pic=document.getElementById('pic').getElementsByTagName('li');
 var list=document.getElementById('list').getElementsByTagName('li');
 var prev=document.getElementById('Prev');
 var next=document.getElementById('Next');
 var index=0;
 var timer=null;

 auto();
 for(var i=0;i<list.length;i++){
 list[i].index=i;
 list[i].onmouseover=function(){
  clearInterval(timer);
  Change(this.index);
 }
 list[i].onmouseout=function(){
  auto();
 }
 pic[i].onmouseover=function(){
  clearInterval(timer);
 }
 pic[i].onmouseout=function(){
  auto();
 }
 }
 prev.onclick=function(){
 clearInterval(timer);
 index--;
 if(index<=0){
  index=list.length-1;
 }
 Change(index);
 }
 next.onclick=function(){
 clearInterval(timer);
 index++;
 if(index>=list.length){
  index=0;
 }
 Change(index);
 }
 prev.onmousemove=function(){
 clearInterval(timer);
 }
 prev.onmouseout=function(){
 auto();
 }
 next.onmouseover=function(){
 clearInterval(timer);
 }
 next.onmouseout=function(){
 auto();
 }

 function Change(curIndex){
  for(var i=0;i<list.length;i++){
  list[i].className="";
  pic[i].className="hidden";
  }
  list[curIndex].className="on";
  pic[curIndex].className="show";
 index=curIndex;
 }
 function auto(){
 timer=setInterval(function(){
  index++;
  if(index>=list.length){
  index=0
  }
  Change(index);
 },2000);
 }
 }
 </script>
</head>
<body>
<div class="wrap" id="wrap">
 <ul id="pic">
 <li class="show"><a href="#"><img src="/54111cd9000174cd04900170.jpg" alt=""/></a></li>
 <li><a href="#"><img src="/54111dac000118af04900170.jpg" alt=""/></a></li>
 <li><a href="#"><img src="/54111d9c0001998204900170.jpg" alt=""/></a></li>
 <li><a href="#"><img src="/54111d8a0001f41704900170.jpg" alt=""/></a></li>
 <li><a href="#"><img src="/54111d7d00018ba604900170.jpg" alt=""/></a></li>
 </ul>
 <ul id="list">
 <li class="on"></li>
 <li></li>
 <li></li>
 <li></li>
 <li></li>
 </ul>
 <a href="javascript:;" class="Prev" id="Prev"><</a>
 <a href="javascript:;" class="Next" id="Next">></a>
</div>
</body>
</html>

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
js function使用心得
May 10 Javascript
禁止选中文字兼容IE、Chrome、FF等
Sep 04 Javascript
javascript事件模型实例分析
Jan 30 Javascript
nw.js实现类似微信的聊天软件
Mar 16 Javascript
分享一个插件实现水珠自动下落效果
Jun 01 Javascript
jQuery过滤选择器用法示例
Sep 12 Javascript
用headjs来管理和加载js 提高网站加载速度
Nov 29 Javascript
基于ajax和jsonp的原生封装(实例)
Oct 16 Javascript
json字符串对象转换代码实例
Sep 28 Javascript
vue addRoutes路由动态加载操作
Aug 04 Javascript
JS ES6异步解决方案
Apr 29 Javascript
实现AJAX异步调用和局部刷新的基本步骤
Mar 17 Javascript
Vue2.0组件间数据传递示例
Mar 07 #Javascript
js实现网页定位导航功能
Mar 07 #Javascript
Vuejs 组件——props数据传递的实例代码
Mar 07 #Javascript
js实现百度登录框鼠标拖拽效果
Mar 07 #Javascript
Vue获取DOM元素样式和样式更改示例
Mar 07 #Javascript
原生JavaScript实现Tooltip浮动提示框特效
Mar 07 #Javascript
基于JavaScript实现图片剪切效果
Mar 07 #Javascript
You might like
回首过去10年中最搞笑的10部动漫,哪一部让你节操尽碎?
2020/03/03 日漫
上传文件先创建目录 再上传到目录里面去
2010/12/29 PHP
PHP strip_tags()去除HTML、XML以及PHP的标签介绍
2014/02/18 PHP
用PHP解决的一个栈的面试题
2014/07/02 PHP
php文件缓存方法总结
2016/03/16 PHP
Laravel 自定命令以及生成文件的例子
2019/10/23 PHP
在 PHP 和 Laravel 中使用 Traits的方法
2019/11/13 PHP
PHP如何通过带尾指针的链表实现'队列'
2020/10/22 PHP
JavaScript 在各个浏览器中执行的耐性
2009/04/06 Javascript
Zero Clipboard js+swf实现的复制功能使用方法
2010/03/07 Javascript
Easy.Ajax 部分源代码 支持文件上传功能, 兼容所有主流浏览器
2011/02/24 Javascript
基于jquery实现的文字淡入淡出效果
2013/11/14 Javascript
鼠标移入移出事件改变图片的分辨率的两种方法
2013/12/17 Javascript
瀑布流布局代码一例
2014/04/11 Javascript
js获取checkbox值的方法
2015/01/28 Javascript
javaScript实现可缩放的显示区效果代码
2015/10/26 Javascript
Bootstrap3 input输入框插入glyphicon图标的方法
2016/05/16 Javascript
vue监听scroll的坑的解决方法
2017/09/07 Javascript
ES6入门教程之变量的解构赋值详解
2019/04/13 Javascript
vue发送websocket请求和http post请求的实例代码
2019/07/11 Javascript
加速vue组件渲染之性能优化
2020/04/09 Javascript
Taro UI框架开发小程序实现左滑喜欢右滑不喜欢效果的示例代码
2020/05/18 Javascript
[05:08]第一届“网鱼杯”DOTA2比赛精彩集锦
2014/09/05 DOTA
[01:48]帕吉至宝加入游戏,遗迹战场现“千劫神屠”
2018/04/07 DOTA
python 连接sqlite及简单操作
2017/06/30 Python
Python实现检测文件MD5值的方法示例
2018/04/11 Python
Python二叉搜索树与双向链表转换算法示例
2019/03/02 Python
jupyter修改文件名方式(TensorFlow)
2020/04/21 Python
Python logging模块原理解析及应用
2020/08/13 Python
python 实现图片批量压缩的示例
2020/12/18 Python
办理信用卡工作证明
2014/01/11 职场文书
新学期家长寄语
2014/01/19 职场文书
合伙经营协议书
2014/04/18 职场文书
经济类毕业生求职信
2014/06/26 职场文书
2015年七七事变78周年纪念活动方案
2015/05/06 职场文书
2019银行员工个人工作自我鉴定
2019/06/27 职场文书