js轮播图实现

简介: js轮播图实现

在很多网页或者项目开发中都会用到轮播图,现在就带大家来看一下最简单最实效的轮播图制作

首先先来看实现效果:

轮播图是一个很奇妙的啥效果,在日常生活上网中经常都会见到,现在来讲一下他的代码

自动轮播的效果:

//设定永久定时器,执行函数为自动轮播函数,时间为2秒
let se = setInterval(fn, 2000)
console.log(bt);
//自动轮播函数,函数名为fn
function fn() {
  //a++
  a++
  console.log(a);
  //给这个banner的块加一个过渡,1秒
  banner.style.transition = "all 1s";
  //给banner这个块添加转换一次要转化多少-px,a*bannerWidth
  banner.style.marginLeft = `-${a * wid}px`
  //判断当a等于图片总长度减1时
  if (a == imgs.length - 1) {
    //设置一次性定时器
    setTimeout(function() {
      //让a=0
      a = 0
      console.log(a);
      //设置过渡为空
      banner.style.transition = ""
      //设置转化px为0
      banner.style.marginLeft = "0px"
      //时间为1秒
    }, 1000)
    //将圆点的长度减一变为原来颜色
    bt[bt.length - 1].style.backgroundColor = "rgba(0, 0, 0, 0.5)"
    //将第一个圆点变为红色
    bt[0].style.backgroundColor = "red"
  } else {
    //将当前显示图片的-1变回原来的色
    bt[a - 1].style.backgroundColor = "rgba(0, 0, 0, 0.5)"
    //将当前图片的圆点变为红色  
    bt[a].style.backgroundColor = "red"
  }
}
 

鼠标移入移出事件:

//鼠标移入事件,函数名为ove
function ove() {
  //清除永久定时器
  clearInterval(se)
}
 
 
//鼠标移出事件,函数名欸ova
function ova() {
  //重新引动永久定时器
  se = setInterval(fn, 2000)
}

左右箭头点击事件:

//右箭头点击事件,函数名为rig
function rig() {
  //设置右边箭头点击事件为空
  but1.onclick = ""
  //调用fn函数
  fn()
  //设置一次性定时器
  setTimeout(function() {
    //重新设定点击事件
    but1.onclick = rig
  }, 1000)
  //时间为1秒
}
 
 
//左箭头点击事件,函数名为lef
function lef() {
  //设置左箭头点击事件为空
  but.onclick = ""
  //调用lef1函数
  lef1()
  //设置一次性定时器
  setTimeout(function() {
    //重新设定点击事件
    but.onclick = lef
  }, 1000)
  //时间为1秒
}

向左移的函数:

 
//左移函数,函数名为lef1
function lef1() {
  //判断当图片等于0时
  if (a == 0) {
    //让a等于图片总长度减一
    a = imgs.length - 1;
    console.log(a);
    //设置过渡为空
    banner.style.transition = ""
    //给banner这个块添加转换一次要转化多少-px,a*bannerWidth
    banner.style.marginLeft = `-${(imgs.length - 1)*wid}px`;
    //让第一个圆点变为原来的颜色
    bt[0].style.backgroundColor = "rgba(0, 0, 0, 0.5)";
    //让圆点的长度减一变为红色
    bt[bt.length - 1].style.backgroundColor = "red";
  }
  setTimeout(function() {
    //a--
    a--
    console.log(a);
    //给这个banner的块加一个过渡,1s
    banner.style.transition = "all 1s"
    //给banner这个块添加转换一次要转化多少-px,a*bannerWidth
    banner.style.marginLeft = `-${a * wid}px`
    if (a == bt.length - 1) {
 
      //将当前显示图片的+1变回原来的色
      bt[0].style.backgroundColor = "rgba(0, 0, 0, 0.5)"
      //将当前图片的圆点变为红色
      bt[a].style.backgroundColor = "red";
    } else {
      //将当前显示图片的+1变回原来的色
      bt[a + 1].style.backgroundColor = "rgba(0, 0, 0, 0.5)"
      //将当前图片的圆点变为红色
      bt[a].style.backgroundColor = "red";
    }
  }, 50)
 
}

如果不设置向左移的函数,会一直显示空白。

相关文章
|
19天前
|
JavaScript
时尚简洁的js轮播图特效插件
这是一款时尚简洁的js轮播图特效插件。该轮播图采用es6语法制作,底部带缩略图和描述信息。图片和描述信息在切换时同步滑动。
|
3月前
|
前端开发
js-基础轮播图制作
js-基础轮播图制作
35 7
|
4月前
|
JavaScript 前端开发
js轮播图练习
文章介绍了如何使用HTML、CSS和JavaScript创建一个简单的轮播图效果。通过`img`标签展示图片,并通过点击下方的点(`span`标签)切换图片。文章提供了完整的HTML结构、CSS样式和JavaScript代码,以及图片的展示和轮播图的效果图。
js轮播图练习
|
3月前
|
JavaScript 前端开发
js轮播图有左右箭头和小点
js轮播图有左右箭头和小点
39 1
|
4月前
|
JavaScript 前端开发
网页前端课程设计-【模仿】香港中文大学官网,轮播图及div+css布局,js的dom操作
这篇文章介绍了如何模仿香港中文大学官网进行网页前端课程设计,包括使用div+css布局、js的DOM操作以及实现轮播图等技术细节。
|
5月前
|
JavaScript
js轮播图制作
js轮播图制作
44 1
|
5月前
|
JavaScript
js轮播图功能
js轮播图功能
29 0
|
5月前
|
前端开发 JavaScript
如何使用JavaScript制作轮播图
如何使用JavaScript制作轮播图
40 0
|
5月前
|
JavaScript
js之简单轮播图
js之简单轮播图
43 0
|
7月前
|
安全 JavaScript
旋转木马轮播图 html+css+js
旋转木马轮播图 html+css+js