ITPub博客

首页 > IT职业 > IT职场 > 前端 javascript 练习题 -简易年历及tab切换简易年历【千锋】

前端 javascript 练习题 -简易年历及tab切换简易年历【千锋】

原创 IT职场 作者:andy888168 时间:2019-10-12 15:14:11 0 删除 编辑

前端 javascript 练习题 - 简易年历及 tab 切换 简易年历【千锋】
eg1 :将数组中的值输出

改变样式可以直接改样式,也可以修改类名

var  okuang = document . getElementById ( "kuang" ); var  oli = document . getElementsByTagName ( "li" ); var  arr = [ 11 , 22 , 33 , 44 , 55 ]; var  index = 0 ;     // 定义一个变量用来保存索引值 for ( var  i = 0 ; i < oli . length ; i ++ ){    // 遍历给每个 li 添加事件

    oli [ i ]. onclick = function (){

         for ( var  j = 0 ; j < oli . length ; j ++ ){    // 排他功能

            oli [ j ]. style . backgroundColor = "#666" ;

            oli [ j ]. style . color = "#fff" ;

         }

        okuang . innerHTML = arr [ index ];    // 此时不能用 arr[i] ,因为在点击之前 for 已经执行完了,此时 i oli 的元素个数值

         this . style . backgroundColor = "red" ;

         this . style . color = "#000" ;

        index ++ ;

     }}

解析:
for 循环是在页面加载的时候 , 执行完毕了

//  for(var k=0;k<5;k++){

//  }

//  console.log(k);

  // 事件是在触发的时候 , 执行的

tab 切换案例
点击按钮换图片:

var  oli = document . getElementsByTagName ( "li" );   // 获取 li 标签 var  oimg = document . getElementsByTagName ( "img" )[ 0 ];    // 获取图片标签 var  index = 0 ;    // 存储索引值,因为在点击按钮前 for 已经执行完了

     for ( var  i = 0 ; i < oli . length ; i ++ ){   

        oli [ i ]. onclick = function   (){

            oimg . src = 'images/' + index + '.png' ;

            index ++ ;

         }

     }

案例
排他功能
一串input

var  oinput = document . getElementsByTagName ( "input" ); for ( var  i = 0 ; i < oinput . length ; i ++ ){

    oinput [ i ]. onclick = function (){

         // 先让所有的变成原来的样子

         for ( var  j = 0 ; j < oinput . length ; j ++ ){

            oinput [ j ]. value = " 晴天 " ;

            oinput [ j ]. style . background = "#ccc" ;

         }

         // 再设置当前的样式

         this . value = " 阴天 " ;

         this . style . background = "red" ;

     }}

通过类名修改样式

var  oinput = document . getElementById ( "btn" ); var  odiv = document . getElementById ( "dv" );

oinput . onclick = function (){

     // 判断是否应用了类样式

     if ( odiv . className != "cls" ){

        odiv . className = "cls" ;    // 当有多个类名时需要注意  留着不需要修改的

     } else {

        odiv . className = "dd" ;

     }};

tab 切换
主要就是排他功能的应用,下面对应的块,选隐藏,找出点击span 时对应的 li 再让它显示

< div class =" box "  id =" box ">

     < div class =" hd ">

         < span class =" current "> 体育 </ span >

         < span > 娱乐 </ span >

         < span > 新闻 </ span >

         < span > 综合 </ span >

     </ div >

     < div class =" bd ">

         < ul >

             < li class =" current "> 我是体育模块 </ li >

             < li > 我是娱乐模块 </ li >

             < li > 我是新闻模块 </ li >

             < li > 我是综合模块 </ li >

         </ ul >

     </ div ></ div >< script >

var obox=document.getElementById("box");

    var hd=obox.getElementsByTagName("div")[0];

    var bd=obox.getElementsByTagName("div")[1];

    var oli=bd.getElementsByTagName("li");

    var ospan=hd.getElementsByTagName("span");

    for(var i=0;i<ospan.length;i++){

        ospan[i].setAttribute("index",i); // 点击之前就把索引保存在 span 标签中

        ospan[i].>

            // 将所有的 span 样式移除

            for(var j=0;j<ospan.length;j++){

                ospan[j].className="";

                //ospan[j].removeAttribute("class");

            }

           // 设置当前的 span 类样式

        this.className="current";

 

           // 先将所有地 li 隐藏

           for(var k=0;k<oli.length;k++){

                oli[k].removeAttribute("class");

           }

            // 获取当前被点击的索引值

            var index=this.getAttribute("index");

            // 当前点击 span 对应的 li 显示

            oli[index].className="current";

        }

    }

 


来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/69947096/viewspace-2659708/,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2019-09-02

  • 博文量
    37
  • 访问量
    14859