1-1.全选、全不选
<body> <input class="like" type="checkbox">足球 <input class="like" type="checkbox">篮球 <input class="like" type="checkbox">排球 <input class="like" type="checkbox">游泳<br> <button id="all">全选</button> <button id="no">全不选</button> <button id="reverse">反选</button> <script> var inputs = document.getElementsByClassName("like"); var all = document.getElementById("all"); all.onclick = function(){ for(var i =0;i<inputs.length;i++){ inputs[i].checked = true; } } var no = document.getElementById("no"); no.onclick = function(){ for(var i =0;i<inputs.length;i++){ inputs[i].checked = false; } } </script></body>
1-2反选
<body> <input class="like" type="checkbox">足球 <input class="like" type="checkbox">篮球 <input class="like" type="checkbox">排球 <input class="like" type="checkbox">游泳<br> <button id="reverse">反选</button> <script> var inputs = document.getElementsByClassName("like"); var reverse = document.getElementById("reverse"); reverse.onclick = function(){ for(var i =0;i<inputs.length;i++){ console.log(inputs[i].checked); // if(inputs[i].checked == true){ // inputs[i].checked = false; // } // else{ // inputs[i].checked = true; // } // inputs[i].checked = (inputs[i].checked == true)? false:true; inputs[i].checked = !inputs[i].checked; } } </script></body>
2-1隔行变色
<body> <ul> <li>0</li> <li>2</li> <li>2</li> <li>3</li> <li>4</li> <li>5</li> <li>6</li> <li>7</li> <button id="one">red</button> <button id="two">orange</button> </ul> <script> var lis = document.getElementsByTagName("li"); var one = document.getElementById("one"); one.onclick = function(){ for(var i=0;i<lis.length;i++){ if(i%2==0){ lis[i].style.color = "red"; } } } two.onclick = function(){ for(var i=0;i<lis.length;i++){ if(i%2!=0){ lis[i].style.color = "orange"; } } } </script></body>
3-1三秒倒计时
3-1-1 setInterval实现
<body> <button id="btn">3</button> <script> var num=3; var btn = document.getElementById("btn"); var timer = setInterval(function(){ num--; console.log(num) if(num>=0){ btn.innerHTML = num; }else{ clearTimeout(timer) ---清除定时器 } },1000) </script></body>
3-1-2 setTimeout实现
<body> <button id="btn"> 3 </button> <script> var btn = document.getElementById("btn"); var num = 3; function go(){ setTimeout(function(){ num--; if(num>=0){ btn.innerHTML = num; go(); } },1000) } go(); </script></body>
4-1导航栏nav
<style> *{ margin: 0; padding: 0; } #nav{ height: 100px; background-color: rebeccapurple; width: 100%; position: fixed; opacity: 0; } body{ height: 2000px; } </style>
4-1-1
<div id="nav"></div> <script> var nav = document.getElementById("nav"); window.onscroll = function(){ var scrollTop = window.scrollY; console.log(scrollTop); if(scrollTop>200){ nav.style.opacity = 1; } else{ nav.style.opacity = 0; } console.log(scrollTop) } </script>
4-1-2 渐隐渐现
<div id="nav"></div> <script> var nav = document.getElementById("nav"); // 1、对窗口执行监听事件 window.onscroll = function(){ // 2、获取滚动条的高度 var scrollTop = document.documentElement.scrollTop; // 3、得到透明度 console.log(scrollTop) var opacity = scrollTop/200; ---缓慢变化 if(opacity>1){ opacity=1 } nav.style.opacity = opacity; console.log(opacity) } </script>
5-1 发送验证码
5-1-1 setInterval实现
<body> <button id="btn">发送验证码</button> <script> var btn = document.getElementById("btn"); var num = 5; var timer ; // 1、让按钮进入倒计时的状态(不能点击的状态) btn.onclick = function(){ this.disabled = true; this.innerHTML = num; // 2、每过一秒 num--; timer = setInterval(function(){ num--; if(num>=0){ btn.innerHTML = num; }else{ btn.disabled = false; btn.innerHTML = "发送验证码"; clearTimeout(timer); num = 5; } },1000) } </script></body>
5-1-2 setTimeout实现
<body> <button id="btn">发送验证码</button> <script> var btn = document.getElementById("btn"); var num = 5; btn.onclick = function(){ this.disabled = true; this.innerHTML = num; function go(){ setTimeout(function(){ num--; if(num>=0){ btn.innerHTML = num; go(); }else{ btn.disabled = false; btn.innerHTML = "发送验证码"; num=5; } },1000) } go(); } </script></body>
6-1页面交互
<style> .current{ color: sandybrown; border: 1px solid sandybrown; } ul li{ width: 50px; list-style-type: none; } .content>div:nth-child(2){ display: none; } </style>
<ul> <li class="current">登陆</li> <li>注册</li> </ul> <div class="content"> <div>登陆的页面</div> <div>注册的页面</div> </div><script> // 点击对应的li给对应的li添加class="current",给它的兄弟元素移除 var lis = document.querySelectorAll("ul li"); var divs = document.querySelectorAll(".content div"); for(var i=0;i<lis.length;i++){ lis[i].index = i; lis[i].onclick = function(){ for(var i=0;i<lis.length;i++){ lis[i].className = "" } this.className = "current"; // 让所有的.current div隐藏,点击对应的下标的div,对应的元素显示 console.log(this.index); for(var i=0;i<divs.length;i++){ divs[i].style.display = "none" } divs[this.index].style.display = "block" } } </script>