JS练习-合并参数-行间事件-提取行间事件
<!DOCTYPE html>
<html>
<head>
<title>JS练习-合并参数-行间事件-提取行间事件</title>
<meta charset="UTF-8" />
<style>
#div1{width: 200px;height: 200px;background: red;}
#div2{width: 200px;height: 200px;border: 1px solid black;}
.box{background: red}
</style>
<script>
//最原始的写法
function toGreen()
{
var oDiv=document.getElementById('div1');
oDiv.style.background='green';
}
function toYellow()
{
var oDiv=document.getElementById('div1');
oDiv.style.background='yellow';
}
function toBlack()
{
var oDiv=document.getElementById('div1');
oDiv.style.background='black';
}
//单个参数
function setColor(color)
{
var oDiv=document.getElementById('div1');
oDiv.style.background=color;
}
//两个参数
function setStyle(name,value)
{
var oDiv=document.getElementById('div1');
/*oDiv.style.name=value; 这里会出错*/
oDiv.style[name]=value;
//oDiv[style][name]=value; 这个和上面效果是一样的
}
//1.style加样式 行间
//2.style去样式 行间
//3.建议只修改class或者只修改style
//通过改变class来控制背景色
function toRed1()
{
var oDiv=document.getElementById('div2');
oDiv.className='box';
}
//通过改变行间样式来改变背景色
function toGreen1()
{
var oDiv=document.getElementById('div2');
oDiv.style.background='green';
}
</script>
</head>
<body>
<input type="button" value="变黄" onclick="toYellow();"/>
<input type="button" value="变绿" onclick="toGreen();"/>
<input type="button" value="变黑" onclick="toBlack();"/>
<br>
<input type="button" value="变黄" onclick="setColor('yellow');"/>
<input type="button" value="变绿" onclick="setColor('green');"/>
<input type="button" value="变黑" onclick="setColor('black');"/>
<br/>
<input type="button" value="变宽" onclick="setStyle('width','400px');"/>
<input type="button" value="变高" onclick="setStyle('height','400px');"/>
<input type="button" value="变绿" onclick="setStyle('background','green');"/>
<div id="div1"></div>
<br>
<br>
<input type="button" value="变红" onclick="toRed1();">
<input type="button" value="变绿" onclick="toGreen1();">
<div id="div2"></div>
</body>
</html>
JS练习-提取行间事件,获取一组元素,循环
<!DOCTYPE html>
<html>
<head>
<title>JS练习-提取行间事件,获取一组元素,循环</title>
<meta charset="UTF-8" />
<script>
window.onload=function()
//在加载完整个页面后执行,如果不添加window.onload,则变量获取不到id tagname
{
//获取一组元素 getElementsByTagName
var aDiv=document.getElementsByTagName('div');
var bDiv=document.getElementById('btn2');
//alert(aDiv.lenth);
//aDiv.style.background='red';这个是错误的
/*
bDiv.onclick=function()
{
aDiv[0].style.background='red';
aDiv[1].style.background='red';
aDiv[2].style.background='red';
aDiv[3].style.background='red';
};
*/
bDiv.onclick=function()
{
for (var i=0;i<aDiv.length; i++)
//判断aDiv的个数 原i<4
{
aDiv[i].style.background='red';
};
};
}
//while循环
/*
var i=0; //1.初始化
while (i<5) //2.条件
{
alert(i); //3.语句
ii=i+1; //4.自增 也可以用 i++
}
*/
//for循环
/*
for(var i=0;i<5;i++)
{
alert(i);
}
*/
</script>
<style>
div{width: 200px;height: 200px;border: 1px solid black;margin: 10px;float: left;}
</style>
</head>
<body>
<input type="button" id="btn2" value="变色"/>
<br/>
<div></div>
<div></div>
<div></div>
<div></div>
</body>
</html>
全选,不选,反选
<!DOCTYPE html>
<html>
<head>
<title>全选,不选,反选</title>
<meta charset="UTF-8" />
<script>
window.onload=function() //此处是“=”不是"."
{
var oBtn1=document.getElementById('btn1');
var oBtn2=document.getElementById('btn2');
var oBtn3=document.getElementById('btn3');
var oDiv=document.getElementById('div1');
var aCh=oDiv.getElementsByTagName('input');
oBtn1.onclick=function()
{
//aCh[0].checked=true; //好吧checked别写错了 纠结
for (var i=0; i<aCh.length; i++) {
aCh[i].checked=true;
};
};
oBtn2.onclick=function()
{
for (var i=0; i<aCh.length; i++) //注意别写漏var,及i=0不是=1
{
aCh[i].checked=false;
};
};
oBtn3.onclick=function()
{
for (var i=0; i<aCh.length; i++)
{
if (aCh[i].checked==true)//别忘了用==判断,且后面没分号
{
aCh[i].checked=false;
}
else
{
aCh[i].checked=true;
}
};
};
};
</script>
</head>
<body>
<input id="btn1" type="button" value="全选" /><br/>
<input id="btn2" type="button" value="不选" /><br/>
<input id="btn3" type="button" value="反选" /><br/>
<div id="div1">
<input type="checkbox"/><br/>
<input type="checkbox"/><br/>
<input type="checkbox"/><br/>
<input type="checkbox"/><br/>
<input type="checkbox"/><br/>
<input type="checkbox"/><br/>
<input type="checkbox"/><br/>
<input type="checkbox"/><br/>
<input type="checkbox"/><br/>
<input type="checkbox"/><br/>
<input type="checkbox"/><br/>
</div>
</body>
</html>
选项卡制作
<!DOCTYPE HTML>
<html>
<head>
<meta charset="utf-8">
<title>选项卡</title>
<style>
input.active{background: red}
#div1 div{width:200px;height:200px;background:red;display: none;}
</style>
<script>
window.onload=function()
{
var oBtn=document.getElementsByTagName('input');
var oDiv=document.getElementById('div1');
var aCh=oDiv.getElementsByTagName('div');
for(var i=0;i<oBtn.length;i++)
{
oBtn[i].index=i;//注意此处的引用
oBtn[i].onclick=function()
{
for(var i=0;i<oBtn.length;i++){
//先去掉之前的属性
oBtn[i].className='';
aCh[i].style.display='none';
}
//this的用法
this.className='active';
aCh[this.index].style.display='block';
};
};
};
</script>
</head>
<body>
<input type="button" value="选项卡1" class="active">
<input type="button" value="选项卡2">
<input type="button" value="选项卡3">
<br>
<div id="div1">
<div style="display:block">内容1</div>
<div>内容2</div>
<div>内容3</div>
</div>
</body>
</html>
万年历制作(好吧,我承认下面内容中的div结构,css都是复制粘贴的,当然 js都是我手打并测试的...)
<!DOCTYPE HTML>
<html>
<head>
<meta charset="utf-8">
<title>万年历</title>
<style>
* { padding: 0; margin: 0; }
li { list-style: none; }
body { background: #f6f9fc; font-family: arial; }
.calendar { width: 210px; margin: 50px auto 0; padding: 10px 10px 20px 20px; background: #eae9e9; }
.calendar ul { width: 210px; overflow: hidden; padding-bottom: 10px; }
.calendar li { float: left; width: 58px; height: 54px; margin: 10px 10px 0 0; border: 1px solid #fff; background: #424242; color: #fff; text-align: center; cursor: pointer; }
.calendar li h2 { font-size: 20px; padding-top: 5px; }
.calendar li p { font-size: 14px; }
.calendar .active { border: 1px solid #424242; background: #fff; color: #e84a7e; }
.calendar .active h2 { }
.calendar .active p { font-weight: bold; }
.calendar .text { width: 178px; padding: 0 10px 10px; border: 1px solid #fff; padding-top: 10px; background: #f1f1f1; color: #555; }
.calendar .text h2 {font-size: 14px; margin-bottom: 10px; }
.calendar .text p { font-size: 12px; line-height: 18px; }
</style>
<script>
window.onload=function()
{
//这里是赋值数组,方便后续调用
var aDatas=[
"快过年了,大家可以商量着去哪玩吧~",
"精通JavaScript开发课程 - 结课标准 - 有十条标准可让大家修练成JS高手……",
"HTML5开发课程,让你熟练掌握移动应用开发技术",
"精通各种DOM类应用,熟练掌握面向对象编程思想(OOP)、熟悉JS面向对象开发方式",
"熟练掌握AJAX技术及相关应用(例如:新浪微博级应用)",
"可以独立写出类似jQuery的小型库(支持各类选择符、事件类、DOM、自定义动画animate、AJAX……)",
"精通JS运动特效技术,能完整实现各类网站所有动画特效,如 智能课堂 官网",
"掌握JS调试及优化技术、能兼容所有浏览器",
"精通JS事件对象及事件的工作机制,并能完成各类跨平台应用模块的开发",
"能独立开发表现和性能都很优秀的RIA应用",
"了解后台编程的相关知识,能够和后台工程师配合完成大型交互应用",
"熟悉正则表达式的编写、应用及高级表单验证技术"
];
var oDiv=document.getElementById('tab');
var aLi=oDiv.getElementsByTagName('li');
var oTxt=oDiv.getElementsByTagName('div')[0]; //注意第0个的应用
//var oTxt=document.getElementById('txt'); 也可以这么写,简单点
for(i=0;i<aLi.length;i++)
{
aLi[i].index=i;
aLi[i].onclick=function()//这里别漏了[i]
{
for(i=0;i<aLi.length;i++)
{
aLi[i].className='';
}
this.className='active';
//这个是在onclick里面的,别写出外面
oTxt.innerHTML='<h2>'+(this.index+1)+'月活动</h2><p>'+aDatas[this.index]+'</p>'
}
}
}
</script>
</head>
<body>
<div id="tab" class="calendar">
<ul>
<li class="active"><h2>1</h2><p>JAN</p></li>
<li><h2>2</h2><p>FER</p></li>
<li><h2>3</h2><p>MAR</p></li>
<li><h2>4</h2><p>APR</p></li>
<li><h2>5</h2><p>MAY</p></li>
<li><h2>6</h2><p>JUN</p></li>
<li><h2>7</h2><p>JUL</p></li>
<li><h2>8</h2><p>AUG</p></li>
<li><h2>9</h2><p>SEP</p></li>
<li><h2>10</h2><p>OCT</p></li>
<li><h2>11</h2><p>NOV</p></li>
<li><h2>12</h2><p>DEC</p></li>
</ul>
<div class="text" id="txt">
<h2>1月活动</h2>
<p>快过年了,大家可以商量着去哪玩吧~</p>
</div>
</div>
</body>
</html>
继续收藏,继续学习!
一起学习 后面的学习内容我放到isay页面了 免得占满首屏
好的,及时更新,我定期过来学习!
其实我是在网页云课堂看的 里面有视屏教程 你可以去看看 更加适合 我这边只是自己做了一些测试还有笔记
博主好厉害!
膜拜