首页 > 代码库 > 练习题
练习题
事件总结
通用:
onclick 鼠标单击
ondblclick 鼠标双击
onmouseover 鼠标放上
onmouseout 鼠标离开
onmousemove 鼠标移动
表单:
onchang 表单的值改变
onblur 失去焦点
onfocus 获得焦点
onselect 选中
1.单选按钮确定提交是否可用
<div style="width:500px; height:500px;">
<div style="margin-top:20px;">
<input type="radio" name="sure" id="s1" onclick="KeYong()" />同意
<input type="radio" name="sure" id="s2" onclick="BuKeYong()" />不同意
</div>
<div style="margin-top:30px">
<input type="submit" value="http://www.mamicode.com/确定" id="btn" style="width:100px; height:35px;" disabled="disabled" />
</div>
</div>
<script type="text/javascript">
function KeYong()
{
//找到按钮
var a = document.getElementById("btn");
//操作按钮属性
a.removeAttribute("disabled");
}
function BuKeYong()
{
var a = document.getElementById("btn");
a.setAttribute("disabled","disabled");
}
</script>
2.倒计时按钮可用
<div style="width:500px; height:500px; margin:100px 0px 0px 100px">
<input id="btn" type="submit" value="http://www.mamicode.com/确定" style="width:100px; height:35px" disabled="disabled" />
<span id="daojishi">10</span>
<div style="margin-top:20px">
<span id="h"></span>
<span id="m"></span>
<span id="s"></span>
</div>
</div>
<script type="text/javascript">
window.setTimeout("YanChi()",1000);
function YanChi()
{
var span = document.getElementById("daojishi");
//改变span里面的值
span.innerText = span.innerText-1;
//判断是否减到了0
if(span.innerText == 0)
{
document.getElementById("btn").removeAttribute("disabled");
return;
}
window.setTimeout("YanChi()",1000);
}
window.setInterval("Bian()",1000);
function Bian()
{
var sj = new Date();
document.getElementById("h").innerText = sj.getHours();
document.getElementById("m").innerText = sj.getMinutes();
document.getElementById("s").innerText = sj.getSeconds();
}
</script>
3.向列表内添加数据
<select id="sel" style="width:200px;" size="10">
<option>11</option>
<option>22</option>
<option>33</option>
</select>
<input type="text" id="nr" />
<input type="button" value="http://www.mamicode.com/添加" id="btn1" onclick="Add()" />
<script type="text/javascript">
function Add()
{
//取出用户输入的值
/*var v = document.getElementById("nr").value;
//向列表里面添加
var list = document.getElementById("sel");
list.innerHTML += "<option>"+v+"</option>";*/
alert(document.getElementById("sel").value);
}
4.两个列表之间移动数据
<div style="width:200px; height:300px; float:left">
<select id="list1" size="10" style="width:200px; height:300px">
<option>山东</option>
<option>北京</option>
<option>河北</option>
<option>黑龙江</option>
<option>河南</option>
</select>
</div>
<div style="width:80px; height:300px; float:left">
<input type="button" value="http://www.mamicode.com/单移" id="btn1" style="width:70px; height:30px" onclick="Dan()"/>
<input type="button" value="http://www.mamicode.com/全移" id="btn2" style="width:70px; height:30px" onclick="Duo()"/>
</div>
<div style="width:200px; height:300px; float:left">
<select id="list2" size="10" style="width:200px; height:300px">
</select>
</div>
function Dan()
{
//把列表1选中值取出
var list1 = document.getElementById("list1");
var v = list1.value;
//造一个option项
var s = "<option class=‘o2‘>"+v+"</option>";
//判断list2里面是否有该项
var attr = document.getElementsByClassName("o2");
var cz = true;
for(var i=0;i<attr.length;i++)
{
//alert(attr[i].innerHTML);
if(attr[i].innerHTML==v)
{
cz = false;
break;
}
}
if(cz)
{
//将option项扔到list2
var list2 = document.getElementById("list2");
list2.innerHTML +=s;
}
}
function Duo()
{
document.getElementById("list2").innerHTML = document.getElementById("list1").innerHTML;
}
5.日期时间选择
<select id="year">
</select>
年
<select id="month" onchange="FillDay()">
</select>
月
<select id="day">
</select>
日
FillYear();
FillMonth();
FillDay();
function FillYear()
{
var sj = new Date();
var nian = sj.getFullYear();
var s = "";
for(var i=nian-5;i<nian+6;i++)
{
if(i==nian)
{
s +="<option selected=‘selected‘>"+i+"</option>";
}
else
{
s +="<option>"+i+"</option>";
}
}
document.getElementById("year").innerHTML = s;
function FillMonth()
{
var sj = new Date();
var yue = sj.getMonth()+1;
var s = "";
for(var i=1;i<13;i++)
{
if(i==yue)
{
s +="<option selected=‘selected‘>"+i+"</option>";
}
else
{
s +="<option>"+i+"</option>";
}
}
document.getElementById("month").innerHTML=s;
}
function FillDay()
{
var sj = new Date();
var tian = sj.getDate();
//取月份求天数
var yue = document.getElementById("month").value;
var n = 31;
if(yue==4 || yue==6 ||yue==9 ||yue==11)
{
n = 30;
}
else if(yue==2)
{
n=28;
}
//用循环添加
var s = "";
for(var i=1;i<n+1;i++)
{
if(i==tian)
{
s +="<option selected=‘selected‘>"+i+"</option>";
}
else
{
s +="<option>"+i+"</option>";
}
}
document.getElementById("day").innerHTML = s;
}
6..子菜单下拉
<style type="text/css">
*{ margin:0px auto; padding:0px}
#menu{ width:700px; height:40px; border:1px solid #999; margin-top:30px}
.list{ width:100px; height:40px; text-align:center; line-height:40px; vertical-align:middle; font-size:16px; font-family:微软雅黑; float:left}
.list:hover{ cursor:pointer; background-color:#63C; color:white}
.ziwai{width:0px; height:0px;position:relative; float:left; top:40px; left:-100px}
.zi{ width:100px; height:100px; background-color:#6C3; display:none }
</style>
<div id="menu">
<div class=‘list‘ onm ouseover="Show(‘z1‘)" onm ouseout="YinCang()">首页</div>
<div class="ziwai" >
<div class="zi" id="z1"></div>
</div>
<div class=‘list‘ onm ouseover="Show(‘z2‘)" onm ouseout="YinCang()">产品介绍</div>
<div class="ziwai" >
<div class="zi" id="z2"></div>
</div>
<div class=‘list‘ onm ouseover="Show(‘z3‘)" onm ouseout="YinCang()">公司简介</div>
<div class="ziwai" >
<div class="zi" id="z3"></div>
</div>
<div class=‘list‘ onm ouseover="Show(‘z4‘)" onm ouseout="YinCang()">联系我们</div>
<div class="ziwai" >
<div class="zi" id="z4"></div>
</div>
<div class=‘list‘ onm ouseover="Show(‘z5‘)" onm ouseout="YinCang()">新闻动态</div>
<div class="ziwai" >
<div class="zi" id="z5"></div>
</div>
</div>
<script type="text/javascript">
function Show(id)
{
var attr = document.getElementsByClassName("zi");
for(var i=0; i<attr.length;i++)
{
attr[i].style.display = "none";
}
document.getElementById(id).style.display = "block";
}
function YinCang()
{
var attr = document.getElementsByClassName("zi");
for(var i=0; i<attr.length;i++)
{
attr[i].style.display = "none";
}
}
</script>
7.DIV做下拉列表
<style type="text/css">
*{ margin:0px auto; padding:0px}
#xiala{ width:180px; height:33px; border:1px solid #999;text-align:center; line-height:33px; vertical-align:middle; }
#xiala:hover{ cursor:pointer}
#zi{width:180px; height:150px; border:1px solid #63C; border-top:0px; display:none}
.list{width:180px; height:33px; text-align:center; line-height:33px; vertical-align:middle; border-bottom:1px solid #63C; background-color:#CCC}
.list:hover{ cursor:pointer; background-color:#63C; color:white}
</style>
<div style="width:700px; height:500px; margin-top:30px">
<div id="xiala" onclick="Show()"></div>
<div id="zi">
<div class="list" onclick="Xuan(this)">山东</div>
<div class="list" onclick="Xuan(this)">淄博</div>
<div class="list" onclick="Xuan(this)">张店</div>
</div>
</div>
<script type="text/javascript">
function Show()
{
document.getElementById("zi").style.display="block";
}
function Xuan(ys)
{
var v = ys.innerText;
document.getElementById("xiala").innerText = v;
document.getElementById("zi").style.display="none";
}
</script>
8.图片轮播
<div style="width:1000px; height:250px; margin-top:30px">
<img src="http://www.mamicode.com/img/11.jpg" width="1000" height="250" />
<img src="http://www.mamicode.com/img/22.png" width="1000" height="250" style="display:none" />
<img src="http://www.mamicode.com/img/33.png" width="1000" height="250" style="display:none" />
<img src="http://www.mamicode.com/img/44.png" width="1000" height="250" style="display:none" />
</div>
<script type="text/javascript">
window.setInterval("Huan()",2000);
//找到图片的最大索引
var n = document.getElementsByTagName("img").length-1;
//存当前图片的索引
var d =0;
//换图
function Huan()
{
//找到所有图片
var attr = document.getElementsByTagName("img");
//当前索引加1
d++;
//判断索引是否超出范围
if(d>n)
{
d = 0;
}
//换图
//让所有隐藏
for(var i=0;i<=n;i++)
{
attr[i].style.display = "none";
}
//让该索引的显示
attr[d].style.display = "block";
}
</script>
9.选项卡效果
<style type="text/css">
*{ margin:0px auto; padding:0px}
#menu{ width:240px; height:30px;}
.list{ width:60px; height:30px; float:left; text-align:center; line-height:30px; vertical-align:middle;}
.list:hover{ cursor: pointer}
.nr{ width:240px; height:200px; text-align:center; line-height:200px; vertical-align:middle}
</style>
<div style="width:700px; height:500px; margin-top:30px">
<div id="menu">
<div class="list" style="background-color:#0F0" onclick="Show(‘d1‘)">娱乐</div>
<div class="list" style="background-color:#369" onclick="Show(‘d2‘)">社会</div>
<div class="list" style="background-color:#F60" onclick="Show(‘d3‘)">体育</div>
<div class="list" style="background-color:#CC3" onclick="Show(‘d4‘)">军事</div>
</div>
<div id="d1" class="nr" style="background-color:#3C0">娱乐新闻</div>
<div id="d2" class="nr" style="background-color:#399; display:none">社会新闻</div>
<div id="d3" class="nr" style="background-color:#F30; display:none">体育新闻</div>
<div id="d4" class="nr" style="background-color:#CF3; display:none">军事新闻</div>
</div>
<script type="text/javascript">
function Show(id)
{
//隐藏所有
var attr = document.getElementsByClassName("nr");
for(var i=0;i<attr.length;i++)
{
attr[i].style.display = "none";
}
//显示当前的
document.getElementById(id).style.display = "block";
}
</script>
10.滑动效果
<style type="text/css">
*{ margin:0px auto; padding:0px}
#left{ height:600px; background-color:#63C; float:left}
#right{ height:600px; background-color:#F33; float:left}
#btn{ width:30px; height:30px; background-color:#FFF; position:relative; top:285px; color:#60F; font-weight:bold; text-align:center; line-height:30px; vertical-align:middle; float:left}
#btn:hover{ cursor:pointer}
</style>
<div id="left" style="width:200px;">
<div id="btn" onclick="Bian()" style="left:185px;">-></div>
</div>
<div id="right" style="width:800px;"></div>
<script type="text/javascript">
function Bian()
{
Dong();
}
//改变大小和位置
function Dong()
{
var d1 = document.getElementById("left");
var d2 = document.getElementById("right");
var btn = document.getElementById("btn");
//左侧DIV变宽
var yskd1 = d1.style.width;
var w1 = yskd1.substr(0,yskd1.length-2);
var w1 = parseInt(w1)+2;
d1.style.width = w1+"px";
//右侧DIV变窄
var yskd2 = d2.style.width;
var w2 = yskd2.substr(0,yskd2.length-2);
var w2 = parseInt(w2)-2;
d2.style.width = w2+"px";
//将按钮移动
var ysjl = btn.style.left;
var w3 = ysjl.substr(0,ysjl.length-2);
var w3 = parseInt(w3)+2;
btn.style.left = w3+"px";
if(w2>200)
{
//自己调自己
window.setTimeout("Dong()",1);
}
}
</script>
11.进度条的制作
<style type="text/css">
*{ margin:0px auto; padding:0px}
#wai{ width:200px; height:10px; border:1px solid #60F;}
#nei{ width:0px; height:10px; background-color:#F33; float:left}
</style>
<div id="wai">
<div id="nei"> </div>
</div>
<script type="text/javascript">
function Start()
{
Bian();
}
var bfb = 0;
function Bian()
{
//将百分比变化
bfb= bfb+1;
//改变宽度
document.getElementById("nei").style.width = bfb+"%";
//判断
if(bfb<100)
{
window.setTimeout("Bian()",50);
}
}
</script>
练习题