完美实现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弹窗代码 可以指定弹出间隔
Jul 03 Javascript
jquery实现select选中行、列合计示例
Apr 25 Javascript
jquery列表拖动排列(由项目提取相当好用)
Jun 17 Javascript
JavaScript使用function定义对象并调用的方法
Mar 23 Javascript
深入浅析JavaScript的API设计原则
Jun 14 Javascript
js enter键激发事件实例代码
Aug 17 Javascript
JS声明式函数与赋值式函数实例分析
Dec 13 Javascript
详解js产生对象的3种基本方式(工厂模式,构造函数模式,原型模式)
Jan 09 Javascript
vue2.0+ 从插件开发到npm发布的示例代码
Apr 28 Javascript
JavaScript设计模式之模板方法模式原理与用法示例
Aug 07 Javascript
vue观察模式浅析
Sep 25 Javascript
详解vue中的父子传值双向绑定及数据更新问题
Jun 13 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
基于curl数据采集之单页面并行采集函数get_htmls的使用
2013/04/28 PHP
编译php 5.2.14+fpm+memcached(具体操作详解)
2013/06/18 PHP
php对数组排序的简单实例
2013/12/25 PHP
XENON基于JSON变种
2010/07/27 Javascript
解决iframe的frameborder在chrome/ff/ie下的差异
2010/08/12 Javascript
判断一个变量是数组Array类型的方法
2013/09/16 Javascript
js中精确计算加法和减法示例
2014/03/28 Javascript
JS实现自动切换文字的导航效果代码
2015/08/27 Javascript
JS 调用微信扫一扫功能
2016/12/22 Javascript
JS+html5制作简单音乐播放器
2020/09/13 Javascript
JavaScript数据结构之二叉树的删除算法示例
2017/04/13 Javascript
jquery 一键复制到剪切板的实例
2017/09/20 jQuery
vue 项目如何引入微信sdk接口的方法
2017/12/18 Javascript
vuex的简单使用教程
2018/02/02 Javascript
Vue 中使用vue2-highcharts实现top功能的示例
2018/03/05 Javascript
jQuery实现网页拼图游戏
2020/04/22 jQuery
js中对象与对象创建方法的各种方法
2019/02/27 Javascript
python Pygame的具体使用讲解
2017/11/03 Python
python实现两个文件合并功能
2018/04/01 Python
python cs架构实现简单文件传输
2020/03/20 Python
Python使用pyautocad+openpyxl处理cad文件示例
2019/07/11 Python
Python 绘制酷炫的三维图步骤详解
2019/07/12 Python
TensorFlow索引与切片的实现方法
2019/11/20 Python
python计算波峰波谷值的方法(极值点)
2020/02/18 Python
解决导入django_filters不成功问题No module named 'django_filter'
2020/07/15 Python
python调用百度API实现人脸识别
2020/11/17 Python
Python 排序最长英文单词链(列表中前一个单词末字母是下一个单词的首字母)
2020/12/14 Python
html特殊符号示例 html特殊字符编码对照表
2014/01/14 HTML / CSS
公司岗位说明书
2015/10/08 职场文书
妇产科护理心得体会
2016/01/22 职场文书
护理自荐信
2019/05/14 职场文书
python实现大文本文件分割成多个小文件
2021/04/20 Python
Python OpenCV 彩色与灰度图像的转换实现
2021/06/05 Python
Redis 的查询很快的原因解析及Redis 如何保证查询的高效
2022/03/16 Redis
Java实现简单小画板
2022/06/10 Java/Android
Golang Web 框架Iris安装部署
2022/08/14 Python