js - 02课 - 图片循环顺序切换实例

思路:

总结:
1. 给循环与否设置标识 isLoop ,true为循环
2. 下一张到最后一张的时候, 循环则 index 变成0 , 否则停留在最后一张,下标为arrImg.length-1
    上一张到第一张的时候, 循环则跑到最后一张, 否则停留在第一张
3.当下标发生变化的时候, 哪些东西要改变? 图片 , 图片顶部的文字, 图片下面的文字信息

1. 效果

2. 代码

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <style>
        p { margin:0; }
        body { text-align:center; }
        #box { width:400px; height:400px; border:10px solid #ccc; margin:50px auto 0; position:relative; }
        a { width:40px; height:40px; background:#fff; filter:alpha(opacity:80); opacity:0.8; position:absolute; top:160px; font-size:18px; color:#000; text-align:center; line-height:40px; text-decoration:none; }
        a:hover { filter:alpha(opacity:30); opacity:0.3; }
        #prev { left:10px; }
        #next { right:10px; }
        #p1 { width:400px; height:30px; line-height:30px; text-align:center; background:#000; color:#fff; font-size:14px; filter:alpha(opacity:80); opacity:0.8; position:absolute; bottom:0; left:0; }
        strong { width:400px; height:30px; line-height:30px; text-align:center; background:#000; color:#fff; font-size:14px; filter:alpha(opacity:80); opacity:0.8; position:absolute; top:0; left:0; }
        #img1 { width:400px; height:400px; }
        span { position:absolute; width:400px; height:30px; line-height:30px; text-align:center; top:-50px; left:0; font-family:‘微软雅黑‘; }
    </style>
</head>
<body>
<input type="button" value="循环播放图片">
<input type="button" value="顺序播放图片">

<div id="box">
    <span>图片可从最后一张跳转到第一张循环切换</span>
    <a id="prev" href="javascript:;"><</a>
    <a id="next" href="javascript:;">></a>
    <p id="p1">图片文字加载中...</p>
    <strong id="strong1">图片数量计算中...</strong>
    <img id="img1">
</div>
<script>
    window.onload = function () {
        var aBtn = document.getElementsByTagName(‘input‘)
        var oSpan = document.getElementsByTagName(‘span‘)
        var oPrev = document.getElementById(‘prev‘)
        var oNext = document.getElementById(‘next‘)
        var oP = document.getElementById(‘p1‘)
        var oStrong = document.getElementById(‘strong1‘)
        var oImg = document.getElementById(‘img1‘)
        var arrImg = [‘img/1.png‘,‘img/2.png‘,‘img/3.png‘,‘img/4.png‘,]
        var arrText = [ ‘文字一‘, ‘文字二‘, ‘文字三‘, ‘图片4‘ ];
        var index = 0;
        var isLoop = true;

        init();
        aBtn[0].onclick = function () {
            isLoop = true;
            oSpan[0].innerHTML = ‘循环轮播 :图片可从最后一张跳转到第一张循环切换‘;
            oSpan[0].style.color = ‘red‘;
        }
        aBtn[1].onclick = function () {
            isLoop = false;
            oSpan[0].innerHTML = ‘顺序:图片只能到最后一张\或只能到第一张切换‘;
            oSpan[0].style.color = ‘red‘;
        }

        oNext.onclick = function () {
            index++;
            if (index == arrImg.length){
                isLoop ? index = 0 : index = arrImg.length-1;
            }
            init();
        }

        oPrev.onclick = function () {
            index--;
            if (index == -1){
                isLoop ? index = arrImg.length - 1 : index = 0;
            }
            init();
        }

        function init() {
            oP.innerHTML = arrText[index];
            oImg.src = arrImg[index];
            oStrong.innerHTML = (index+1)+ ‘/‘ + arrImg.length;
        }
    }
</script>
</body>
</html>
时间: 2024-11-03 02:02:58

js - 02课 - 图片循环顺序切换实例的相关文章

基于html5可拖拽图片循环滚动切换

分享一款基于html5可拖拽图片循环滚动切换.这是一款支持手机端拖拽切换的网站图片循环滚动特效.效果图如下: 在线预览   源码下载 实现的代码. html代码: <div id="site-wrapper"> <section id="section-header" data-coloroverlap="dark"></section> <section id="second-phase&qu

jquery.roundabout.js实现3D图片层叠旋转木马切换

最近项目中需要实现3D图片层叠旋转木马切换的效果,于是用到了jquery.roundabout.js. 兼容性如图: html结构代码: <div id="featured-area"> <ul> <li><img src="images/fnfast.jpg"/></li> <li><img src="images/photoshop_plus.jpg"/>&l

js - 02课 4 浅谈this

1. 在标签内部调用事件默认都是window调用的! 2. 为什么 函数fn1()必须写在window.onload = function(){} 外面才有效果! <!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8"> <title></title> </head> <body> <input i

js - 02课 3

1. 自动生成5条新闻 <!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8"> <title></title> </head> <body> <input id="btn1" type="button" value="自动生成5条新闻"&

js - 02课 4 浅谈this -3

1.两种方式绑定, this 不同的指向 <!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8"> <title></title> <style> li{width: 100px; height:150px;float:left; margin-right:30px; background: #f1f1f1;posi

js - 02课 4 浅谈this -2

1. 防止this重名,可以通过设置值,然后通过参数传递过去 <!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8"> <title></title> </head> <body> <input type="button" value="按钮1"/> &

自定义属性之图片切换实例——初始化——JS学习笔记2015-5-28(第41天)

思路: 延续上一节说的利用自定义属性来作为桥梁,建立匹配关系,然后改变页面中元素的显示效果: 首先需要写好一个合理的HTML结构   // 何为合理呢?就是说考虑这个结构哪些需要提前写好的,哪些又是可以通过程序来动态实现的 然后写好相应的CSS样式文件,让基本的构造出来: 最后通过JS来控制相关页面元素的显示效果: 实例: <!DOCTYPE HTML> <html> <head> <meta http-equiv="Content-Type"

原生js实现的图片左右切换

效果比较单一,就是两个左右按钮,点击图片就会切换,图片是用js添加的. 上代码: html: 1 <div id="img_container"> 2 <div id="imgbox" style="left:0"></div> 3 </div> 4 <div style="text-align:center"><a href="javascript:

JS框架_(JQuery.js)图片相册掀开切换效果

图片掀开切换效果: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv=&quo