zoukankan      html  css  js  c++  java
  • 2016-05-29图片切换的综合案例

    总结:

    <a href="javascript:;"/>,其中javascript:是伪协议,它可以让我们通过一个链接来调用javascript函数.而采用这个方式 javascript:;可以实现A标签的点击事件运行时,如果页面内容很多,有滚动条时,页面不会乱跳,用户体验更好。

    <!DOCTYPE HTML>
    <html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
        <title>无标题文档</title>
        <style>
            p { margin:0; }
            body { text-align:center; }
            #box { 400px; height:400px; border:10px solid #ccc; margin:50px auto 0; position:relative; }
            a { 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 { 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 { 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 { 400px; height:400px; }
            span { position:absolute; 400px; height:30px; line-height:30px; text-align:center; top:-50px; left:0; font-family:'微软雅黑'; }
        </style>
        <script>
            window.onload = function (){
                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 aBtn = document.getElementsByTagName('input');
    
                var arrUrl = [ 'images/1.jpg', 'images/2.jpg', 'images/3.jpg', 'images/4.jpg' ];//以后用ajax从服务端拿到数据
                var arrText = [ '文字一', '文字二', '文字三', '识文断字' ];////以后用ajax从服务端拿到数据
                var num = 0;
                var onOff = true;//true 为循环播放 false为顺序播放
    
                aBtn[0].onclick = function (){ onOff = true; document.getElementsByTagName('span')[0].innerHTML = '循环切换'; };
                aBtn[1].onclick = function (){ onOff = false; document.getElementsByTagName('span')[0].innerHTML = '顺序切换'; };
    
                // 初始化
                function fnTab(){
                    oP.innerHTML = arrText[num];
                    oStrong.innerHTML = num+1 + ' / ' + arrText.length;
                    oImg.src = arrUrl[num];
                }
                fnTab();
    
                oPrev.onclick = function (){
                    num --;
                    if( num == -1 ){
                        if(onOff){
                            num = arrText.length-1;
                        }
                        else{
                            alert('这已经是第一张了,不能再往前了~~');
                            num = 0;
                        }
                    }
                    fnTab();
                };
                oNext.onclick = function (){
                    num ++;
                    if( num == arrText.length ){
                        if(onOff){
                            num = 0;
                        }else{
                            alert('已经到最后一张啦~');
                            num = arrText.length-1;
                        }
                    }
                    fnTab();
                };
    
            };
        </script>
    </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>
    
    </body>
    </html>
  • 相关阅读:
    蓝桥杯真题(1)
    蓝桥杯------历届真题
    第三届蓝桥杯 c/c++真题
    数据库三大范式个人理解,书上讲的太抽象
    c#线程池ThreadPool实例详解
    c#多线程thread实例详解
    C#中异步使用及回调
    c# 多线程的几种方式
    C#中委托的同步和异步有什么区别
    C#设计模式——单例模式的实现
  • 原文地址:https://www.cnblogs.com/bravolove/p/5540570.html
Copyright © 2011-2022 走看看