zoukankan      html  css  js  c++  java
  • js基础——图片切换实例(函数传参)

    <!DOCTYPE HTML>
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    <title>js基础——图片切换实例(函数传参)</title>
    <style>
    ul { padding:0; margin:0; }
    li { list-style:none; }
    body { background:#fff; }
    .box{ width: 400px; height: 500px;/* margin:0 auto; */ float: left; margin-right: 60px; background:#fff url(img/loader_ico.gif) center no-repeat; position: relative;}
    .box img{ width: 400px; height: 500px;}
    .box ul{ width: 40px; position: absolute; top: 0; right: -50px;}
    .box li{ width: 40px; height: 40px; margin-bottom: 5px; background: #ccc;}
    .box .active{ background: #f90;}
    .box span ,.box p{ width: 400px; height: 30px; line-height: 30px; text-align: center; color: #fff; background: #000; position: absolute; left: 0;}
    .box span{ top: 0;}
    .box p{ bottom: 0; margin:0;}
    </style>
    <script>
    
    window.onload = function(){
        
        fnTab('pic1' ,['img/1.png','img/2.png','img/3.png','img/4.png'],['图片一','图片二','图片三','图片四'] ,'onclick');
        fnTab('pic2' ,['img/2.png','img/3.png','img/4.png'],['图片二','图片三','图片四'] ,'onmouseover');
    };
    
    function fnTab(id ,arrUrl ,arrText ,evt){
        var oDiv = document.getElementById(id);
        var oImg = oDiv.getElementsByTagName('img')[0];
        var oSpan = oDiv.getElementsByTagName('span')[0];
        var oP = oDiv.getElementsByTagName('p')[0];
        var oUl = oDiv.getElementsByTagName('ul')[0];
        var aLi = oUl.getElementsByTagName('li');
        // var arrUrl = ['img/1.png','img/2.png','img/3.png','img/4.png'];
        // var arrText = ['图片一','图片二','图片三','图片四'];
        var num = 0;
        
        //遍历生成所有li
        for(var i =0; i<arrUrl.length; i++){
            oUl.innerHTML += '<li></li>';    
        }
        
        //初始化函数
        function init(){
            oImg.src = arrUrl[num];
            oSpan.innerHTML = 1+num + '/' + arrUrl.length;
            oP.innerHTML = arrText[num];
            for(var i=0; i<aLi.length; i++){
                aLi[i].className = '';    
            }
            aLi[num].className = 'active';    
        };
        init();
        
        //点击按钮切换图片
        for( var i=0; i<aLi.length; i++ ){
    
            // 为每个li添加索引值
            aLi[i].index = i;    
    
            aLi[i][evt] = function (){
    
                // 将当前点击的索引值赋给num
                num = this.index;
    
                // 然后执行切换函数
                init();
            };
        }
    };
    </script>
    </head>
    
    <body>
    
    <div id="pic1" class="box">
        <img src="" />
      <span>数量正在加载中……</span>
      <p>文字说明正在加载中……</p>
      <ul></ul>
    </div>
    <div id="pic2" class="box">
        <img src="" />
        <span>数量正在加载中……</span>        
        <p>文字说明正在加载中……</p>
        <ul>
            <!-- <li class="active"></li>
            <li></li>
            <li></li>
            <li></li> -->
        </ul>
    </div>
    </body>
    </html>

    重用代码:
    1、尽量保证 HTML 代码结构一致,可以通过父级选取子元素
    2、把核心主程序实现,用函数包起来
    3、把每组里不同的值找出来,通过传参实现

  • 相关阅读:
    FIS
    git笔记 常规使用
    隐藏文字
    清除浮动的几种方法
    chrome livestyle插件
    Vue3中的微任务队列解析
    JavaScript通过父节点ID递归生成JSON树
    JavaScripts调用摄像头【MediaDevices.getUserMedia()】
    JavaScripts之变量作用域提升问题
    Webpack之 webpack-dev-server 中的 contentBase配置及作用
  • 原文地址:https://www.cnblogs.com/bokebi520/p/5001119.html
Copyright © 2011-2022 走看看