review0522
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
<style type="text/css">
.btn, .lock{
width: 140px;
height: 30px;
line-height: 30px;
background: #00f;
color: #fff;
font-size: 14px;
text-align: center;
border-radius: 5px;
cursor: pointer;
margin-top: 30px;
}
.unlock{
width: 140px;
height: 30px;
line-height: 30px;
background: #666;
color: #ccc;
font-size: 14px;
text-align: center;
border-radius: 5px;
cursor: pointer;
margin-top: 30px;
}
</style>
</head>
<body onload="ymd(), initLogo()">
<form>
<select name="yyyy" id="yyyy" onchange="selectYmd()"></select>年
<select name="mm" id="mm" onchange="selectYmd()"></select>月
<select name="dd" id="dd"></select>日
<input type="button" value="删除列表框条目" onclick="deleteSelect()" name=""><hr>
<img id="logoImg" src="headLogo/1.gif">
<select id="logo" onchange="selectLogo()"></select><hr>
<input type="checkbox" name="interest" value="1"><label>游泳</label>
<input type="checkbox" name="interest" value="2"><label>爬山</label>
<input type="checkbox" name="interest" value="3"><label>看书</label>
<input type="checkbox" name="interest" value="4"><label>听歌</label>
<input type="button" value="全选" id="btn1" onclick="checkInterest()" name="">
<input type="button" value="反选" onclick="checkInterest2()" name=""><hr>
<input type="button" value="弹出" onclick="alert('我是按钮')" name=""><hr>
<div id="btn" class="btn" onmouseover="mouseoverFn(this,'#f00')" onmouseout="mouseoutFn(this,'#00f')">开始</div><hr>
</form>
<div class="lock" id="btn2">锁定</div><hr>
<div id="box">这是一个DIV</div>
</body>
<script type="text/javascript">
function ymd(){
var yyyy = document.getElementById('yyyy');
var mm = document.getElementById('mm');
var dd = document.getElementById('dd');
var date = new Date();
var year = parseInt(date.getFullYear());
initSelect(yyyy,1990,year);
initSelect(mm,1,12);
initSelect(dd,1,31);
var n = yyyy.length;//先获取列表框的长度
yyyy.selectedIndex = Math.round(n/2);//列表框选中某个条目
}
function initSelect(obj,start,end){
for (var i=start;i<=end;i++){
obj.options.add(new Option(i,i));
}
}
function selectYmd(){
var mm = document.getElementById('mm');
var dd = document.getElementById('dd');
var m = parseInt(mm.value);
var dayEnd;
if (m==4 || m==6 || m==9 || m==11){
dayEnd = 30;
} else if (m==2){
//处理闰年:1、能被4整除且不能被100整除
// 2、能被400整除
y = parseInt(yyyy.value);
if ((y%4==0 && y%100!=0) || y%400==0){
dayEnd = 29;
} else {
dayEnd = 28;
}
} else {
dayEnd = 31;
}
dd.options.length = 0;//将某个列表框的条目数设置为0
initSelect(dd,1,dayEnd);
}
function deleteSelect(){
var dd = document.getElementById('dd');
//删除列表框的每一个条目 倒着删除(正向删除存在索引问题)
for (i=dd.length;i>=0;i--){
dd.options.remove(0);
}
}
function initLogo(){
var logo = document.getElementById('logo');
for (var i=1;i<=15;i++){
logo.options.add(new Option(i,i));
}
}
function selectLogo(){
var logo = document.getElementById('logo');
var n = logo.value;
var logoImg = document.getElementById('logoImg');
logoImg.src = 'headLogo/' + n + '.gif';
}
var flag = true;
function checkInterest(){
var interest = document.getElementsByName('interest');
for (var i=0;i<interest.length;i++){
interest[i].checked = flag;
}
if (flag){
document.getElementById('btn1').value = '全不选';
} else {
document.getElementById('btn1').value = '全选';
}
flag = !flag;//开关变量
}
function checkInterest2(){
var interest = document.getElementsByName('interest');
for (var i=0;i<interest.length;i++){
interest[i].checked = !interest[i].checked;
console.log(interest[i].value);
}
}
//鼠标滑过时,按钮的背景发生改变
//this是对于对象的引用,也就是这个时间绑在什么DOM元素上,这个this就代表谁
function mouseoverFn(btn,bgColor){
console.log(btn);
btn.style.background = bgColor;
}
function mouseoutFn(btn,bgColor){
console.log(btn);
btn.style.background = bgColor;
}
var btn2 = document.getElementById('btn2');
btn2.onclick = function(){
//判断是否锁定 改变颜色
if (this.className == 'lock'){
this.className = 'unlock';
this.innerHTML = '解锁';
} else {
this.className = 'lock';
this.innerHTML = '锁定';
}
}
var box = document.getElementById('box');
var clicked = function(){
alert('1111');
};
box.onclick = clicked;//主要调用函数千万不能加括号
// btn.onclick = clickBtn(); 这是错误的 相当于直接调用
</script>
</html>
review0525-1
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>DOM基础2</title>
<style type="text/css">
#box{
width: 200px;
height: 50px;
background-color: pink;
}
.box{
padding: 30px;
}
.left,.tip{
float: left;
}
.left{
margin-right: 10px;
}
.tip{
display: none;
}
#box2{
width: 200px;
height: 200px;
background: #f00;
}
.text span{
font-weight: bold;
color: #f00;
}
em{
font-size: normal;
}
</style>
<script type="text/javascript">
//页面加载完成时 执行如下操作
//将JavaScript写在上面的时候 需要用到window.load
window.onload = function(){
//获取box
var box = document.getElementById("box");
var clicked = function(){
alert('我被点击了!');
};
box.onclick = clicked;
//获取文本框和提示框
var phone = document.getElementById('phone'),
tip = document.getElementById('tip');
//给文本框绑定激活的事件
phone.onfocus = function(){
//让tip显示出来
tip.style.display = 'block';
}
//给文本框绑定失去焦点的事件
phone.onblur = function(){
//获取文本框的值
var phoneNum = this.value;
//判断手机号码是否为11位的数字
if (phoneNum.length == 0) {
tip.style.display = 'none';
} else if (phoneNum.length==11 && isNaN(phoneNum)==false) {
tip.innerHTML = '<img src="img/right.png">';
} else {
tip.innerHTML = '<img src="img/error.png">';
}
}
//获取下拉菜单
var menu = document.getElementById('menu');
//给菜单绑定change事件
menu.onchange = function(){
//获取当前选中的值
var bgcolor = this.value;
//下拉菜单选中的值
var bgcolor = menu.options[menu.selectedIndex].value;
//如果bgcolor为空的话,则下面的脚本不执行
if (bgcolor == '') {
document.body.style.background = '#fff';
} else {
//设置body的背景色
document.body.style.background = bgcolor;
}
}
var box2 = document.getElementById('box2');
//绑定按下的事件
box2.onmousedown = function(){
console.log('我被按下了');
}
box2.onmousemove = function(){
console.log('我被移动了');
}
box2.onmouseup = function(){
console.log('我被松开了');
}
box2.onclick = function(){
console.log('我被点击了');
}
//浏览器窗口尺寸改变
window.onresize = function(){
console.log('我的尺寸被改变了');
}
window.onscroll = function(){
console.log('我被拖动了');
}
//在事件触发的function里面,用一个参数接收事件对象
document.onkeydown = function(event){
//event代表事件的状态,比如触发event对象的元素、鼠标的位置等状态
console.log(event.keyCode);
}
//获取文本框
var text = document.getElementById('text');
var total = 30;
var count = document.getElementById('count');
//绑定键盘事件
document.onkeyup = function(){
//获取文本框长度
var len = text.value.length;
var allow = total - len;
count.innerHTML = allow;
}
var btn = document.getElementById('btn');
btn.onclick = function(){
//example获取的是一个数组
var x = document.getElementsByClassName('example');
if (btn.value == '点我') {
x[0].innerHTML = 'hello div1';
x[1].innerHTML = 'hello div2';
x[2].innerHTML = 'hello div3';
btn.value = '返回';
} else {
x[0].innerHTML = '第一个div元素class为example';
x[1].innerHTML = '第二个div元素class为example';
x[2].innerHTML = '第三个div元素class为example';
btn.value = '点我';
}
}
}
</script>
</head>
<body>
<div id="box">我被点击了!</div><hr>
<div class="box">
<div class="left">
<input type="text" id="phone" placeholder="请输入手机号码" name="">
</div>
<div class="tip" id="tip">
请输入有效的手机号码
</div>
</div><hr>
<div class="box2">
请选择您喜欢的背景颜色
<select id="menu">
<option value="">请选择</option>
<option value="#f00">红色</option>
<option value="#0f0">绿色</option>
<option value="#00f">蓝色</option>
<option value="#ff0">黄色</option>
<option value="#ccc">灰色</option>
</select>
</div><hr>
<div id="box2">拖动</div><hr>
<div>
<p class="text">您还可以输入<span><em id="count">30</em>/30</span>个字</p>
<div class="input">
<textarea id="text" cols="50" rows="4"></textarea>
</div>
</div><hr>
<div class="example">第一个div元素class为example</div>
<div class="example">第二个div元素class为example</div>
<div class="example">第三个div元素class为example</div>
<input type="button" id="btn" value="点我"><hr>
<input type="checkbox" name="interest" onchange="count()" value="1"><label>游泳</label>
<input type="checkbox" name="interest" onchange="count()" value="2"><label>爬山</label>
<input type="checkbox" name="interest" onchange="count()" value="3"><label>看书</label>
<input type="checkbox" name="interest" onchange="count()" value="4"><label>听歌</label>
<input type="button" value="全选" id="btn1" onclick="checkInterest(),count()" name="">
<input type="button" value="反选" onclick="checkInterest2(),count()" name=""><hr>
</body>
<script type="text/javascript">
var interest = document.getElementsByName('interest');
function checkInterest(){
if (document.getElementById('btn1').value == '全不选'){
for (var i=0;i<interest.length;i++){
interest[i].checked = false;
}
document.getElementById('btn1').value = '全选';
} else {
for (var i=0;i<interest.length;i++){
interest[i].checked = true;
}
document.getElementById('btn1').value = '全不选';
}
}
function checkInterest2(){
for (var i=0;i<interest.length;i++){
interest[i].checked = !interest[i].checked;
}
}
function count(){
var counter = 0;
for (var i=0;i<interest.length;i++){
if (interest[i].checked){
counter++;
}
}
if (counter == interest.length){
document.getElementById('btn1').value = '全不选';
} else {
document.getElementById('btn1').value = '全选';
}
}
</script>
</html>