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

描述:

纵向buton或者底部数字控制轮播,可以实现自动轮播(注释了,使用的话将其注释消掉),核心知识是数据驱动图像的透明度达到效果。

效果:

代码:

js文件:

/*

* 工厂模式

* */

var Method=(function () {

return {

loadImage:function (arr,callback) {

var img=new Image();

img.arr=arr;

img.list=[];

img.num=0;

img.callback=callback;

// 如果DOM对象下的事件侦听没有被删除掉,将会常驻堆中

// 一旦触发了这个事件需要的条件,就会继续执行事件函数

img.addEventListener("load",this.loadHandler);

img.self=this;

img.src=arr[img.num];

},

loadHandler:function (e) {

this.list.push(this.cloneNode(false));

this.num++;

if(this.num>this.arr.length-1){

this.removeEventListener("load",this.self.loadHandler);

this.callback(this.list);

return;

}

this.src=this.arr[this.num];

},

$c:function (type,parent,style) {

var elem=document.createElement(type);

if(parent) parent.appendChild(elem);

for(var key in style){

elem.style[key]=style[key];

}

return elem;

}

}

})();

html文件:

Title

#con,#bgImg,#bgImg img

{

width: 100%;

height: 500px;

}

#con

{

position: relative;

margin: auto;

}

#bgImg{

position: absolute;

}

#bgImg img{

opacity: 1;

transition: all 1s;

position: absolute;

left:0;

top:0;

}

#iconImg

{

position: absolute;

width: 120px;

right: 50px;

top:30px;

}

#iconImg img

{

margin-top: 8px;

border: 2px solid #FFA50000;

transition: all 0.5s;

}

var bgImg,iconImg,prevImg,imgList;//定义大图 小图的盒子(5个img)

var N=0;//图像标记

var arr=["img/a.jpeg","img/b.jpeg","img/c.jpeg","img/d.jpeg","img/e.jpeg"];//图片设置为数组形式 传参

init();

function init() {

Method.loadImage(arr,loadFinishHandler)//预加载

}

function loadFinishHandler(list) {//预加载赋值

imgList=list;

bgImg=document.getElementById("bgImg");

iconImg=document.getElementById("iconImg");

for(var i=0;i

iconImg.children[i].num=i;

iconImg.children[i].addEventListener("click",clickHandler);

}

changeBorder(iconImg.firstElementChild);

}

setInterval(autoImg,3000);

function autoImg() {//自动轮播效果

N++; //全局变量 用于控制当前轮播顺序

if (N>4) N=0;

changeImg(N);//大图轮播

changeBorder(iconImg.children[N]);//小图外边框轮播 设置第几个 弄懂参数代表含义

}

function clickHandler(e) {

e =e || window.event;

changeBorder(this);

N=this.num;

changeImg(this.num);

}

function changeBorder(elem) {

if(prevImg){

prevImg.style.border="2px solid #FFA50000";

}

prevImg=elem;

prevImg.style.border="2px solid #FFA500";

}

function changeImg(index) {

if(bgImg.children.length>1){

bgImg.lastElementChild.remove();

}

bgImg.lastElementChild.style.opacity="0";

imgList[index].style.opacity="1";

bgImg.insertBefore(imgList[index],bgImg.firstElementChild);

}

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

图片竖轮播html,JS实现纵向轮播图(初级版)相关推荐

  1. html图片百叶窗轮播,纯js百叶窗效果轮播图插件

    这是一款纯js百叶窗效果轮播图插件.该js轮播图在图片切换时的效果类似于多张图片展开合成一张完整的大图.该轮播图由纯js编写,兼容ie8浏览器. 使用方法 在页面中引入imgSwitch.min.js ...

  2. html原生js实现图片轮播,原生js实现简单轮播图

    本文实例为大家分享了js实现简单轮播图的具体代码,供大家参考,具体内容如下 一.写入网页基本结构 body: 网页的最外部设置一个id为wrap的容器,取代body,这样方便我们做一些初始化 css: ...

  3. html图片3djs轮播,原生js实现3D轮播图

    3D轮播图是我做过复杂的图片轮播了,由于是利用坐标,层级之间的关系,所以实现起来原理比较简单但是bug巨多,在推推拖拖了好久后,下定决心重新整理成博客,与大家分享! 首先分析一下3D图片轮播的功能需求 ...

  4. html图片重叠轮播,原生JS实现层叠轮播图

    又是轮播?没错,换个样式玩轮播. HTML: wtf < > CSS: .box {width: 1200px; height: 300px; transform-style: perse ...

  5. html5实现图片打散功能,【HTML+js】微信微博九宫格图拆分器

    小弟无才,复下来是这样的,运行不了 .wx_button { border-spacing:0px; border-style: solid; border-color: #38f; border-w ...

  6. uniapp 实现图片自动纵向轮播

    ✴️星光不负赶路人,所有的幸运都来自于坚持不懈的努力,大家一起加油吧 问题:uniapp 实现图片自动纵向轮播 直接上代码 <template><view class="l ...

  7. JS来实现轮播图(走马灯)可左右切换图片,鼠标移入会停止轮播

    效果一: 会自动进行轮播,当鼠标进入轮播图区域会停止轮播,点击左右箭头可以向前.向后进行切换图片 效果二: 这种效果比第一种效果简单,只要删除一些代码和修改一些样式即可. 实现原理 轮播图整体是放在u ...

  8. js判断定时器是否启动_原生js如何做出轮播图的效果

    <div class="box"><ul><li class="active"><img src="./im ...

  9. 用原生JS实现3D轮播效果

    用原生JS实现3D轮播效果 实现思路: 先实现无缝轮播效果 添加3D效果 完善代码 增加自动轮播效果 效果如下: 视图中显示3张图片,并通过CSS的透视和旋转实现3D效果,当无任何操作时,图片自动循环 ...

最新文章

  1. matplotlib安装成功但import失败_统信UOS安装失败,deepinv20.1国产操作系统安装成功...
  2. checkpoint是什么?
  3. 《NoSQL精粹》思维导图读书笔记
  4. 打造自己的数据访问层(二)
  5. Java volatile关键字
  6. 作者:高丰,英国南安普敦大学计算机博士,现为开放数据与创新独立咨询顾问,兼复旦大学数字与移动治理实验室特邀研究员。...
  7. 搭建Demo验证在一次Socket请求中有借助缓冲区处理数据
  8. MULTISIM安装下载
  9. TBase开源版V2.1.0 集群搭建部署完整版
  10. linux 中eth,执行命令取出linux中eth0的IP地址
  11. 【计算机基础】计算机分类
  12. Spring 七大模块介绍
  13. 【看表情包学Linux】进程阻塞 | 轮询检测 | 基于非阻塞等待的轮询方案 | 进程程序替换 | exec 函数簇
  14. OSI 物理层(设备,技术)
  15. 在线秒表 - 在线计时器 - 在线记时器
  16. pasa_example
  17. 在VMware vCenter中使用企业CA或第三方CA替换VMCA
  18. [Javascript 高级程序设计]学习心得记录3 根据对象数组的属性进行排序
  19. 北京自学考试计算机应用基础,北京教育考试院
  20. 智慧景区整体规划建设运营解决方案

热门文章

  1. 生活随笔:态度需要端正
  2. 如何在开盘15分钟内发现当天黑马
  3. sqlite3 改源代码支持上下键查询历史命令
  4. 第七章 DevOps工具链
  5. matpython_[mcj]使用Matlab/Python合并mat文件并存为mat
  6. taro 小程序转h5之后报错_记录微信小程序转Taro中遇到的问题
  7. 发送临时文件被服务器拒绝,临时会话说服务器拒绝了您发送离线文件的请求 - 卡饭网...
  8. salt-api配置
  9. 全排列函数next_permutation
  10. 如何用增长的思维做提效?