完美实现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 本页面传值实现代码
May 17 Javascript
通过继承IHttpHandle实现JS插件的组织与管理
Jul 13 Javascript
javascript 伪数组实现方法
Oct 11 Javascript
关于JavaScript定义类和对象的几种方式
Nov 09 Javascript
使用EVAL处理jqchart jquery 折线图返回数据无效的解决办法
Nov 26 Javascript
前端必备插件之纯原生JS的瀑布流插件Macy.js
Nov 22 Javascript
基于Vue 2.0的模块化前端 UI 组件库小结
Dec 21 Javascript
JS加密插件CryptoJS实现AES加密操作示例
Aug 16 Javascript
小程序实现授权登陆的解决方案
Dec 02 Javascript
JS实现利用闭包判断Dom元素和滚动条的方向示例
Aug 26 Javascript
微信小程序登陆注册功能的实现代码
Dec 10 Javascript
vue 基于abstract 路由模式 实现页面内嵌的示例代码
Dec 14 Vue.js
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
PHP写杨辉三角实例代码
2011/07/17 PHP
PHP递归返回值时出现的问题解决办法
2013/02/19 PHP
php调用MySQL存储过程的方法集合(推荐)
2013/07/03 PHP
Laravel 4.2 中队列服务(queue)使用感受
2014/10/30 PHP
JavaScript的Cookies
2008/01/16 Javascript
js/jquery判断浏览器的方法小结
2014/09/02 Javascript
让IE8浏览器支持function.bind()方法
2014/10/16 Javascript
js实现简单随机抽奖的方法
2015/01/27 Javascript
浅谈Javascript线程及定时机制
2015/07/02 Javascript
基于JS对象创建常用方式及原理分析
2017/06/28 Javascript
jQuery实现的文字逐行向上间歇滚动效果示例
2017/09/06 jQuery
详解vue渲染函数render的使用
2017/12/12 Javascript
vue组件之间通信方式实例总结【8种方式】
2019/02/22 Javascript
layui 弹出层回调获取弹出层数据的例子
2019/09/02 Javascript
基于纯JS实现多张图片的懒加载Lazy过程解析
2019/10/14 Javascript
解决vue初始化项目时,一直卡在Project description上的问题
2019/10/31 Javascript
python base64 decode incorrect padding错误解决方法
2015/01/08 Python
Python中的特殊语法:filter、map、reduce、lambda介绍
2015/04/14 Python
Python数据拟合与广义线性回归算法学习
2017/12/22 Python
python多线程并发让两个LED同时亮的方法
2019/02/18 Python
python实现文本进度条 程序进度条 加载进度条 单行刷新功能
2019/07/03 Python
python实现批量修改服务器密码的方法
2019/08/13 Python
Centos7 下安装最新的python3.8
2019/10/28 Python
pytorch 图像中的数据预处理和批标准化实例
2020/01/15 Python
京东港澳售:京东直邮港澳台
2018/01/31 全球购物
Java面试题:说出如下代码的执行结果
2015/10/30 面试题
经贸日语毕业生自荐信
2013/11/03 职场文书
实习心得体会
2014/01/02 职场文书
高中数学教学反思
2014/01/30 职场文书
大学新生军训方案
2014/05/03 职场文书
行政求职信
2014/07/04 职场文书
不错的求职信范文
2014/07/20 职场文书
领导班子作风建设剖析材料
2014/10/11 职场文书
运动会口号霸气押韵
2015/12/24 职场文书
深入理解以DEBUG方式线程的底层运行原理
2021/06/21 Java/Android
JS前端监控采集用户行为的N种姿势
2022/07/23 Javascript