JavaScript实现轮播图特效


Posted in Javascript onApril 10, 2020

本文实例为大家分享了JavaScript实现轮播图特效的具体代码,供大家参考,具体内容如下

功能:

1、图片会自动播放,鼠标放上面会暂停播放

2、点击左右出现的箭头可以切换到上一张/下一张图片

3、点击序号会跳转到对应图片 

<!DOCTYPE html>
<html lang="en">
 
<head>
 <meta charset="UTF-8">
 <title>当当网首页轮播图-By小黑</title>
 <style>
  *{
  padding: 0;
  margin: 0;
  list-style: none;
  }
  #wrap{
  margin: 50px auto;
  width: 800px;
  height: 330px;
  overflow: hidden;
  position: relative;
  }
  #list{
  position: absolute;
  bottom: 15px;
  right: 250px;
  }
  #list li{
  float: left;
  margin-right: 15px;
  cursor: pointer;
  width: 23px;
  height: 23px;
  line-height: 23px;
  text-align: center;
  background: #ADA79D;
  color: #FFF ;
  border-radius: 50%;
  }
  #list .on{
  background: red;
  }
  #bar_left,#bar_right{
  width: 33px;
  height: 80px;
  line-height: 80px;
  position: absolute;
  top: 130px;
  background: rgba(0, 0, 0, 0.3);
  }
  #bar_left{
  left: -33px;
  }
  #bar_right{
  right: -35px;
  }
  /*下面利用伪元素实现左侧和右侧的小箭头*/
  #bar_left:after,#bar_left:before,#bar_right:before,#bar_right:after{
  content: "";
  border-top: 15px solid transparent;
  border-bottom: 15px solid transparent;
  position: absolute;
  top: 25px;
  }
  /*左边箭头*/
  #bar_left:before{
  border-left: 15px solid transparent;
  border-right: 15px solid #FFF;
  right: 10px;
  }
  #bar_left:after{
  border-left: 15px solid transparent;
  border-right: 15px solid rgba(0, 0, 0, 0.3);
  right: 7px;
  }
  /*右边箭头*/
  #bar_right:before{
  border-right: 15px solid transparent;
  border-left: 15px solid #FFF;
  left: 10px;
  }
  #bar_right:after{
  border-right: 15px solid transparent;
  border-left: 15px solid rgba(0, 0, 0, 0.3);
  left: 7px;
  }
  #wrap:hover #bar_left{
  left: 0;
  cursor: pointer;
  transition: left 0.5s;
  }
  #wrap:hover #bar_right{
  /* display: block; */
  right: 5px;
  cursor: pointer;
  transition: right 0.5s;
  }
  .tex{
  margin: 20px auto;
  width: 400px;
  }
  .tex ul li{
  list-style-type:circle;
  color: red;
  font-weight: bold;
  margin-bottom: 5px;
  }
 </style>
</head>
 
<body>
 <div id="wrap">
 <ul id="pic">
  <li><img src="images/dang1.jpg" alt=""></li>
  <li><img src="images/dang2.jpg" alt=""></li>
  <li><img src="images/dang3.jpg" alt=""></li>
  <li><img src="images/dang4.jpg" alt=""></li>
  <li><img src="images/dang5.jpg" alt=""></li>
  <li><img src="images/dang6.jpg" alt=""></li>
  <li><img src="images/dang7.jpg" alt=""></li>
  <li><img src="images/dang8.jpg" alt=""></li>
 </ul>
 <div id="bar_left"></div>
 <div id="bar_right"></div>
 <ol id="list">
  <li class="on">1</li>
  <li>2</li>
  <li>3</li>
  <li>4</li>
  <li>5</li>
  <li>6</li>
  <li>7</li>
  <li>8</li>
 </ol>
 </div>
 <div class="tex">
 <ul>
  <li>功能如下:</li>
  <li>图片会自动播放,鼠标放上面会暂停播放</li>
  <li>点击左右出现的箭头可以切换到上一张/下一张图片</li>
  <li>点击序号会跳转到对应图片</li>
 </ul>
 </div>
 <script>
 var wrap=document.getElementById('wrap');
 var pics=document.getElementById('pic');
 var lists=document.getElementById('list').getElementsByTagName('li');
 var point_l=document.getElementById('bar_left');
 var point_r=document.getElementById('bar_right');
 var index=0;
 var counter=null;
 function change(){//计时器
  counter=setInterval(function(){
  index++;
  if(index===lists.length){
   index=0;
  }
  img(index);
  },2000)
 }
 change();
 function img(curIndex){//切换图片
  for (var i=0;i<lists.length;i++){
  if(curIndex===i){
   lists[i].className='on';
  }
  else{
   lists[i].className='';
  }
  }
  index=curIndex;
  pics.style.marginTop=-330*curIndex+'px';//图片上移
  wrap.οnmοuseοver=function(){//鼠标放到图片上时图片停止播放
  pics.style.cursor="pointer";
  clearInterval(counter);//清除计时器
  }
  pics.οnmοuseοut=change;
 }
 //鼠标放到指定序号切换到指定图片
 for (var i=0;i<lists.length;i++){
  lists[i].id=i;
  lists[i].οnmοuseοver=function(){
  img(this.id);
  this.className='on';
  }
 }
 //当鼠标放在箭头上时,点击箭头切换到下一张图片
 point_l.οnmοusedοwn=function(){//点击左边箭头
  if(index<=0){
   index=lists.length;
  }
  img(index-1);
 }
 point_r.οnmοusedοwn=function(){//点击右边箭头
  if (index>=lists.length-1){
  index=-1;
  }
  img(index+1);
 }
 </script>
</body>
 
</html>

效果图

JavaScript实现轮播图特效

精彩专题分享:jQuery图片轮播 JavaScript图片轮播 Bootstrap图片轮播

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

Javascript 相关文章推荐
网页禁用右键实现代码(JavaScript代码)
Oct 29 Javascript
js中判断文本框是否为空的两种方法
Jul 31 Javascript
Jquery 自定义动画概述及示例
Mar 29 Javascript
JS生成不重复的随机数组的简单实例
Jul 10 Javascript
JavaScript实现瀑布流以及加载效果
Feb 11 Javascript
layui之select的option叠加问题的解决方法
Mar 08 Javascript
使用react实现手机号的数据同步显示功能的示例代码
Apr 03 Javascript
Vue中CSS动画原理的实现
Feb 13 Javascript
原生js通过一行代码实现简易轮播图
Jun 05 Javascript
js模拟F11页面全屏显示
Sep 17 Javascript
小程序实现横向滑动日历效果
Oct 21 Javascript
详解template标签用法(含vue中的用法总结)
Jan 12 Vue.js
JavaScript实现图片伪异步上传过程解析
Apr 10 #Javascript
Vue实现Layui的集成方法步骤
Apr 10 #Javascript
如何基于layui的laytpl实现数据绑定的示例代码
Apr 10 #Javascript
vue-drag-chart 拖动/缩放图表组件的实例代码
Apr 10 #Javascript
vue+vant使用图片预览功能ImagePreview的问题解决
Apr 10 #Javascript
JS实现省市县三级下拉联动
Apr 10 #Javascript
JavaScript实现简单的图片切换功能(实例代码)
Apr 10 #Javascript
You might like
php adodb连接不同数据库
2009/03/19 PHP
PHP 日常开发小技巧
2009/09/23 PHP
简单实现php上传文件功能
2017/09/21 PHP
javascript的parseFloat()方法精度问题探讨
2013/11/26 Javascript
一个不错的字符串转码解码函数(自写)
2014/07/31 Javascript
jquery通过load获取文件的内容并跳到锚点的方法
2015/01/29 Javascript
AngularJS中过滤器的使用与自定义实例代码
2016/09/17 Javascript
原生js获取left值和top值的三种方法
2017/08/02 Javascript
React中jquery引用的实现方法
2017/09/12 jQuery
浅谈JS函数节流防抖
2017/10/18 Javascript
jQuery+CSS实现的标签页效果示例【测试可用】
2018/08/14 jQuery
Vue 路由切换时页面内容没有重新加载的解决方法
2018/09/01 Javascript
node错误处理与日志记录的实现
2018/12/24 Javascript
基于form-data请求格式详解
2019/10/29 Javascript
使用Vant完成DatetimePicker 日期的选择器操作
2020/11/12 Javascript
[02:17]《辉夜杯》TRG战队巡礼
2015/10/26 DOTA
PyTorch的Optimizer训练工具的实现
2019/08/18 Python
pytorch 修改预训练model实例
2020/01/18 Python
Python tkinter模版代码实例
2020/02/05 Python
记录模型训练时loss值的变化情况
2020/06/16 Python
详解python命令提示符窗口下如何运行python脚本
2020/09/11 Python
英国知名的护肤彩妆与时尚配饰大型综合零售电商:Unineed
2016/11/21 全球购物
美国知名珠宝首饰品牌:Gemvara
2017/10/06 全球购物
英国山地公路自行车商店:Tweeks Cycles
2018/03/16 全球购物
关于Java String的一道面试题
2013/09/29 面试题
工商企业管理应届生求职信
2013/11/03 职场文书
大学生饮食连锁店创业计划书
2014/01/17 职场文书
医院工作检讨书范文
2014/02/10 职场文书
客户接待方案
2014/02/26 职场文书
机工车间主任岗位职责
2014/03/05 职场文书
质量负责人任命书
2014/06/06 职场文书
2014年银行员工工作总结
2014/11/12 职场文书
2015年度企业工作总结
2015/05/21 职场文书
读书笔记怎么写
2015/07/01 职场文书
企业团队精神心得体会
2016/01/19 职场文书
范文之农村基层党建工作报告
2019/10/24 职场文书