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>