完美实现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 相关文章推荐
Javascript 表单之间的数据传递代码
Dec 04 Javascript
firefox火狐浏览器与与ie兼容的2个问题总结
Jul 20 Javascript
js/jquery去掉空格,回车,换行示例代码
Nov 05 Javascript
MyEclipse取消验证Js的两种方法
Nov 14 Javascript
jQuery将所有被选中的checkbox某个属性值连接成字符串的方法
Jan 24 Javascript
JavaScript控制网页层收起和展开效果的方法
Apr 15 Javascript
Vue.js每天必学之过滤器与自定义过滤器
Sep 07 Javascript
详解闭包解决jQuery中AJAX的外部变量问题
Feb 22 Javascript
jQuery动态移除和添加背景图片的方法详解
Mar 07 Javascript
js中的事件委托或是事件代理使用详解
Jun 23 Javascript
详解JS数组Reduce()方法详解及高级技巧
Aug 18 Javascript
vue实现登录拦截
Jun 29 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
PHP插入排序实现代码
2013/04/04 PHP
php中使用in_array() foreach array_search() 查找数组是否包含时的性能对比
2015/04/14 PHP
使用ThinkPHP的自动完成实现无限级分类实例详解
2016/09/02 PHP
js调用activeX获取u盘序列号的代码
2011/11/21 Javascript
jquery easyui 对于开始时间小于结束时间的判断示例
2014/03/22 Javascript
Javascript判断文件是否存在(客户端/服务器端)
2014/09/16 Javascript
javascript根据时间生成m位随机数最大13位
2014/10/30 Javascript
深入理解JavaScript系列(37):设计模式之享元模式详解
2015/03/04 Javascript
Bootstrap carousel轮转图的使用实例详解
2016/05/17 Javascript
一句jQuery代码实现返回顶部效果(简单实用)
2016/12/28 Javascript
JavaScript+Canvas实现彩色图片转换成黑白图片的方法分析
2018/07/31 Javascript
vue项目环境变量配置的实现方法
2018/10/12 Javascript
vue中的面包屑导航组件实例代码
2019/07/01 Javascript
javascript解析json格式的数据方法详解
2020/08/07 Javascript
[01:18:35]DOTA2-DPC中国联赛 正赛 Elephant vs LBZS BO3 第一场 1月29日
2021/03/11 DOTA
python中管道用法入门实例
2015/06/04 Python
python3.6使用pymysql连接Mysql数据库
2018/05/25 Python
python 二维数组90度旋转的方法
2019/01/28 Python
python 反编译exe文件为py文件的实例代码
2019/06/27 Python
python列表删除和多重循环退出原理详解
2020/03/26 Python
Python常用类型转换实现代码实例
2020/07/28 Python
利用Python发送邮件或发带附件的邮件
2020/11/12 Python
关于Python 解决Python3.9 pandas.read_excel(‘xxx.xlsx‘)报错的问题
2020/11/28 Python
python 日志模块logging的使用场景及示例
2021/01/04 Python
英国最大的宝石首饰超市:QP Jewellers
2018/09/23 全球购物
英国领先的豪华时尚家居网上商店:Amara
2019/08/12 全球购物
业务部主管岗位职责
2014/01/29 职场文书
文化宣传方案
2014/03/13 职场文书
绩效考核实施方案
2014/03/18 职场文书
班风口号
2014/06/18 职场文书
预备党员2014年第四季度思想汇报范文
2014/10/25 职场文书
导游词开场白
2015/01/31 职场文书
绍兴鲁迅故居导游词
2015/02/09 职场文书
2015年机关党建工作总结
2015/05/22 职场文书
利用js实现简单开关灯代码
2021/11/23 Javascript
MySQL如何快速创建800w条测试数据表
2022/03/17 MySQL