前端 javascript 练习题 -简易年历及tab切换

简介: 前端 javascript 练习题 -简易年历及tab切换简易年历eg1:将数组中的值输出改变样式可以直接改样式,也可以修改类名var okuang=document.getElementById("kuang");var oli=document.

前端 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[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[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="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].onclick=function(){
        //将所有的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";
    }
}
相关文章
|
18小时前
|
设计模式 存储 前端开发
JS的几种设计模式,Web前端基础三剑客学习知识分享,前端零基础开发
JS的几种设计模式,Web前端基础三剑客学习知识分享,前端零基础开发
|
20小时前
|
移动开发 前端开发 JavaScript
前端高效开发JavaScript库!
前端高效开发JavaScript库!
|
2天前
|
存储 JavaScript 前端开发
使用Vue.js构建交互式前端的技术探索
【5月更文挑战第12天】Vue.js是渐进式前端框架,以其简洁和强大的特性深受开发者喜爱。它聚焦视图层,采用MVVM模式实现数据与视图的双向绑定,简化开发。核心特性包括响应式数据绑定、组件化、模板系统和虚拟DOM。通过创建Vue实例、编写模板及定义方法,可以构建交互式前端,如计数器应用。Vue.js让复杂、交互式的前端开发变得更加高效和易维护。
|
2天前
|
JavaScript 前端开发
深入了解前端框架Vue.js的响应式原理
本文将深入探讨Vue.js前端框架的核心特性之一——响应式原理。通过分析Vue.js中的数据绑定、依赖追踪和虚拟DOM等机制,读者将对Vue.js的响应式系统有更深入的理解,从而能够更好地利用Vue.js构建灵活、高效的前端应用。
|
2天前
|
JavaScript 前端开发 C++
【Web 前端】JavaScript window.onload 事件和 jQuery ready 函数有何不同?
【5月更文挑战第2天】【Web 前端】JavaScript window.onload 事件和 jQuery ready 函数有何不同?
|
2天前
|
JavaScript 前端开发 开发者
【Web 前端】什么是JS变量提升?
【5月更文挑战第1天】【Web 前端】什么是JS变量提升?
【Web 前端】什么是JS变量提升?
|
2天前
|
缓存 前端开发 JavaScript
【JavaScript 技术专栏】JavaScript 前端路由实现原理
【4月更文挑战第30天】本文探讨了JavaScript前端路由在SPA中的重要性,阐述了其基本原理和实现方式,包括Hash路由和History路由。前端路由通过监听URL变化、匹配规则来动态切换内容,提升用户体验和交互性。同时,文章也提到了面临的SEO和页面缓存挑战,并通过电商应用案例分析实际应用。理解并掌握前端路由能助开发者打造更流畅的单页应用。
|
2天前
|
前端开发 JavaScript 数据安全/隐私保护
前端javascript的DOM对象操作技巧,全场景解析(二)
前端javascript的DOM对象操作技巧,全场景解析(二)
|
2天前
|
XML Web App开发 前端开发
字节FE:JavaScript学习路线图
字节FE:JavaScript学习路线图
10 0
|
2天前
|
存储 移动开发 JavaScript
学习javascript,前端知识精讲,助力你轻松掌握
学习javascript,前端知识精讲,助力你轻松掌握