<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport"
content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>图片切换</title>
<style>
.content{
height: 500px;
width: 500px;
text-align: center;
margin:0 auto;
}
.playBtn button,.showPages span,.upDownBtn button{
margin: 20px;
}
.img{
position: relative;
border:1px solid #430d06;
height: 350px;
width: 500px;
}
.img img{
width: 100%;
height: 100%;
}
.img p{
z-index: 1;
margin: 0;
position: absolute;
bottom:0;
height: 40px;
width: 100%;
font-size: 23px;
line-height: 40px;
color: #fff;
background-color: #000;
opacity: 0.2;
} </style>
</head>
<body>
<div class="content">
<div class="playBtn">
<button id="order">顺序播放</button>
<button id="loop">循环播放</button>
</div>
<div class="img">
<img src="img/3.jpg" alt="" id="oImg">
<p id="imgP"></p>
</div>
<div class="showPages">
<span id="showPages"></span>
</div>
<div class="upDownBtn">
<button id="up">上一张</button>
<button id="down">下一张</button>
</div>
</div>
<script>
//首先一组图片放在数组里
var imgAry=['img/1.jpg','img/2.jpg','img/3.jpg','img/4.jpg','img/5.jpg','img/6.jpg']; //用原生js获取元素(当然这些都是基础,看你自己喜欢用原生还是JQ了)
var up=document.getElementById("up");
var down=document.getElementById("down");
var oImg=document.getElementById("oImg");
var showPages=document.getElementById("showPages");
var imgP=document.getElementById("imgP");
var order=document.getElementById("order");
var loop=document.getElementById("loop"); //设置顺序还是循环播放的开关,这里默认是顺序播放(true),那循环播放就是false了
var onOff=true;
//点击进入顺序播放
order.onclick=function () {
onOff=true;
};
//点击进入循环播放
loop.onclick=function () {
onOff=false
} //设置一个初始值作用相当于前边那个imgAry数组的index值一样
var n=0;
//点击跳转前一张图片
up.onclick=function () {
//找对应的索引值,向上所以就是索引-1,n--跟n-1一样的
n--; //第一张临界点判断处理
if(n<0){
// 判断是顺序还是循环播放
if(onOff){
//这里边走的是顺序播放,顺序的时候在临界点时让其索引等于临界点的值就行了,顺便给个提示
n=0;
alert("已经是第一张了")
}else {
//这里是循环播放,将临界点的索引设置为最后一站的索引即可,即 倒叙
n=imgAry.length-1;
}
}
//再将公共组件执行赋值渲染即可
commontComponent();
}; //向下和向上的逻辑是一样的,就颠倒一下就好,这里就不再详细解释了
down.onclick=function () {
n++;
if(n>=imgAry.length){
if(onOff){
n=imgAry.length-1;
alert("已经是最后一张了")
}else {
n=0;
}
}
commontComponent();
}; //渲染的页面公共组件
function commontComponent() {
//这里是根据索引查找对应的图片并赋值
oImg.src=imgAry[n]; //这是图片上的提示文字
/*强调一下为什么是n+1:因为n是从0开始的,直接显示0不符合人们阅读时的正常逻辑,所以+1好一点*/
imgP.innerHTML='这是第'+(n+1)+'张图片'; //这里是图片下边分页的显示,n+1同理
showPages.innerHTML=n+1+'/'+imgAry.length;
}
commontComponent();
</script>
</body>
</html> 下边这个是一个静态截图显示,具体功能可以自己试验

												

使用javascript实现图片上下切换效果并且实现顺序循环播放的更多相关文章

  1. js实现图片自动切换效果。

    js实现图片自动切换效果,简单实用,原谅我只是一只小菜鸟还在学大神天天写博文装逼. <script language="javascript"> setInterval ...

  2. JavaScript实现多栏目切换效果

    效果: 代码: <!doctype html> <html> <head> <meta http-equiv="Content-Type" ...

  3. 基于jquery鼠标点击图片翻开切换效果

    基于jquery鼠标点击图片翻开切换效果是一款基于jQuery+CSS3实现的点击图片切换特效.效果图如下: 在线预览   源码下载 实现的代码. html代码: <div class=&quo ...

  4. JavaScript 实现 标签页 切换效果

    JavaScript 实现 标签页 切换效果 版权声明:未经授权,严禁分享! 构建主体界面 HTML 代码 <h1>实现标签页的切换效果</h1> <ul id=&quo ...

  5. 《JavaScript 实战》:JavaScript 图片滑动切换效果

    看到alibaba的一个图片切换效果,感觉不错,想拿来用用.但代码一大堆的,看着昏,还是自己来吧.由于有了做图片滑动展示效果的经验,做这个就容易得多了. 效果预览 仿淘宝/alibaba图片切换: 默 ...

  6. jQuery插件实例三:图片滚动[切换]效果一

    图片切换效果在很多网站上都能看到,是一种常见的广告/活动宣传方式,通常位于网页上端.这个插件是众多图片切换效果的形式中的一种,数据源可在前端配置,也可从后台通JSON格式传输数据,当然,数据格式是固定 ...

  7. 二、JavaScript语言--JS基础--JavaScript进阶篇--选项卡切换效果

    利用JavaScript知识,实现选项卡切换的效果. 效果图: 文字素材: 房产: 275万购昌平邻铁三居 总价20万买一居     200万内购五环三居 140万安家东三环     北京首现零首付楼 ...

  8. 实例源码--Android图片滚动切换效果

    下载源码 技术要点:  1.图片滚动切换技术 2.详细的源码注释 ...... 详细介绍: 1.图片滚动切换技术 本套源码实现了类似于网站图片滚动推广效果,效果不错,很不错的参考源码 2.源码目录 运 ...

  9. 个人学习JQ插件编写成果:little酷炫的图片滑动切换效果

    工作一个多月了,好久没来冒冒泡了,看了@wayong的JQ插件教程,自己编写了一个模仿拉勾网首页广告栏滑动特效的JQ插件,现在跟朋友们分享分享! 先上demo链接:http://runjs.cn/de ...

随机推荐

  1. HTML5贪吃蛇源代码

    显示效果例如以下:点击这里!       代码下载:点击这里! <script> function show(){  var date = new Date(); //日期对象  var ...

  2. tomcat 分别在window 和 Linux上配置SSL-安全问题

    公司项目收尾后.通过压力測试后的安全測试.安全測试后中,对于网络传输中数据加密问题存在安全隐患. 须要配置SSL. 简介下SSL协议:SSL或者Secure Socket Layer,是一种同意web ...

  3. Outlook中设置会议的提醒

    https://support.office.com/en-us/article/Set-or-remove-reminders-7a992377-ca93-4ddd-a711-851ef359792 ...

  4. jq---方法总结

    1. 什么是jQuery 在使用jQuery之前,我们必须先了解什么是jQuery,它能够干什么(不然我们为啥要用它). jQuery是一个非常流行的快速.小巧.功能强大的开源JavaScript库. ...

  5. js中常用的对象—Math的属性和方法

    js中有一个内置对象——Math对象,在有的时候非常有用,我们来分析一下: Math常用属性(注意要大写): E 返回算术常量 e,即自然对数的底数(约等于2.718)LN2 返回 2 的自然对数(约 ...

  6. Atcoder ABC 070 B、C、D

    B - Two Switches Time limit : 2sec / Memory limit : 256MB Score : 200 points Problem Statement Alice ...

  7. Python线程池任务

    #!/usr/bin/env python # -*- coding:utf-8 -*- from concurrent.futures import ThreadPoolExecutor #线程池, ...

  8. Mblog 部署手册

    准备工作 安装 JDK8 安装图片处理工具:GraphicsMagick1.3.20,下载地址 安装 Maven 准备 IDE (如果你不看源码,可以忽略下面的步骤,直接通过Maven编译war包) ...

  9. 开机显示 invalid partition table

    解决方法:进入你的BIOS, 然后设置你装系统的盘(SSD,或者磁盘)为第一启动位置处即可. 具体可参考文章电脑开机出现Invalid Partition Table怎么修复?解决

  10. 魔兽世界serverTrinitycore分析一:前言

    一:简单介绍 项目地址:https://github.com/TrinityCore/TrinityCore 帖一段官网介绍吧 TrinityCore is a MMORPG Framework ba ...