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>

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

下节更新:小实例--“模拟手机短信发送”
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,732评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 87,496评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,264评论 0 338
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,807评论 1 277
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,806评论 5 368
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,675评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,029评论 3 399
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,683评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 41,704评论 1 299
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,666评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,773评论 1 332
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,413评论 4 321
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,016评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,978评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,204评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,083评论 2 350
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,503评论 2 343

推荐阅读更多精彩内容

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