JS--图片切换小实例

实现效果:
图片切换.gif

说明:这里寻找元素方式均为ID方式,且代码执行较慢(if嵌套比较多),只是就自己现在能力写的代码,其中的图片可自行更换自己喜欢的图片。

代码:
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>JS图片切换小实例</title>
    <style type="text/css">
        p{margin: 0px;}
        body{text-align: center;}
        #frame{width: 400px;height: 400px;border: 10px solid #ccc;margin:40px auto 0; position: relative;}
        /*设置整体div为400*400,边框,在屏幕水平居中且离上边40像素,相对定位*/
        #frame a{width:40px; height: 40px;background: #000;border: 5px solid #fff;position: absolute;top: 175px;text-decoration: none;text-align: center;font-weight: bold;line-height: 40px;color:#fff; alpha(opacity:70);opacity: 0.7;}
        #frame a:hover{filter:filter: alpha(opacity:40);opacity: 0.4;}
        #front{left: 10px;}
        #next{right: 10px;}
        #num{width: 400px;height: 30px;background: #000;color: #fff;font-size: 14px;text-align: center;line-height: 30px; position: absolute;top: 0px;left: 0px;filter: alpha(opacity:80);opacity: 0.8;}
        #word{width: 400px;height: 30px;background: #000;color: #fff;font-size: 14px;text-align: center;line-height: 30px; position: absolute;bottom: 0px;left: 0px;filter: alpha(opacity:80);opacity: 0.8;}
        #img1{width:400px;height: 400px; }
        strong { position:absolute; width:400px; height:30px; line-height:30px; text-align:center; top:-50px; left:0;font-weight: normal;}
    </style>
    <script type="text/javascript">
    window.onload = function (){
        var oFront = document.getElementById('front'); //<(上一张)
        var oNext = document.getElementById('next'); //>(下一张)
        var oNum = document.getElementById('num'); //数字
        var oWord = document.getElementById('word'); //文字
        var oImg = document.getElementById('img1'); //图片
        var oBtn1 = document.getElementById('btn1'); //循环切换按钮
        var oBtn2 = document.getElementById('btn2'); //顺序切换按钮
        var oStrong = document.getElementById('strong1'); //对按钮的描述

        /*
        document.getElementById('XXX')是查询页面上id为XXX的元素
        document.getElementsByTagName("XXX")是查询页面上所有的XXX标签元素,返回一数组列表
        */

        var num = 0;//设置数字变量
        var arrUrl = ['img/1.jpg','img/2.jpg','img/3.jpg','img/4.jpg'];//存放图片地址的数组
        var arrWord = ['文字一','文字二','文字三','识文断字'];//存放文字的数组
        var onOff = true;//设置布尔值(0/1)

        oBtn1.onclick = function(){onOff = true;oStrong.innerHTML = '图片可从最后一张跳转到第一张循环切换';}
        oBtn2.onclick = function(){onOff = false;oStrong.innerHTML = '图片只能到最后一张\或只能到第一张切换';}
        
        function fnTab(){
            oImg.src = arrUrl[num];
            oNum.innerHTML = num+1 + '/' + arrUrl.length;
            oWord.innerHTML = arrWord[num];
        }//初始化
        fnTab();

        oFront.onclick = function(){
            if(onOff){
                if(num == -1){
                num = 3;
                }
                fnTab();
                num--;
            }else if(num == -1){
                alert('已经是第一张啦!');
                }
                else{fnTab();num--;}
        }
        oNext.onclick = function(){
            if(onOff){
                if(num == 3){num = -1;}
                num++;
                fnTab();
            }else if(num == 3){
                alert('已经是最后一张啦!');
            }else{num++;fnTab();}
        }
    }
    </script>
</head>
<body>
    <input type="button" value="循环切换" id="btn1">
    <input type="button" value="顺序切换" id="btn2">
    <div id="frame">
        <strong id="strong1">图片可从最后一张跳转到第一张循环切换</strong>
        <a href="javascript:;" id="front">&lt</a>
        <a href="javascript:;" id="next">&gt</a>
        <span id="num">数量加载中...</span>
        <p id="word">文字加载中...</p>
        <img src="" id="img1" />
    </div>
</body>
</html>

小感慨:这个代码陆陆续续写了两天,写不出来的时候是真的蛮闹心的,但是都比不了写出来的成就感,也许这就是编程的魅力。

下节更新:小实例--“模拟手机短信发送”
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 173,019评论 25 708
  • Swift版本点击这里欢迎加入QQ群交流: 594119878最新更新日期:18-09-17 About A cu...
    ylgwhyh阅读 25,522评论 7 249
  • 每天都逼着自己在最后交作业的一小时内灵感迸现,妙语如珠地飞扬文字,让这倒计时的时间充满挑战、紧张和火花,...
    云紫烟阅读 290评论 2 3
  • 我静静地看着你 你却远远地躲着我 我唤你一声猫咪 你却毫不领情 我还是那么喜欢你 包容你一切任性 我希望你懂我的温...
    咏絮秋水阅读 427评论 0 0
  • 7.10提前1小时到公司准备数据,吃了单位食堂的早餐,其实也不错的。 下面上7.9我的DIY早餐啦
    简葵0703阅读 91评论 0 0