- 希望把某个元素移除你的视线:
- display:none; 显示为无
- visibility:hidden; 隐藏
- width 或者 height
- 透明度
- left 或者 top
- 拿一个白色DIV盖住它
- margin负值
- ......
- 事件:鼠标事件、键盘事件、系统事件、表单事件、自定义事件……
- onclick
- onmouseover
- onmouseout
- onmousedown
- onmouseup
- onmousemove 就像是鼠标抚摸一样的事件
- ...
- onload 加载完以后执行…
- window.onload = 事情
- img.onload
- body.onload
- ...
- 如何添加事件:
- 元素.onmouseover
- 函数:可以理解为-命令,做一些事~~
-
function abc(){ // 肯定不会主动执行的!
……
}- 直接调用:abc();
- 事件调用:元素.事件 = 函数名 oDiv.onclick = abc;
- function (){} 匿名函数
- 元素.事件 = function (){};
<!DOCTYPE HTML> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <title>无标题文档</title> <style> li { list-style:none; } .lis { width:80px; height:30px; border:1px solid #333; position:relative; } .lis a { display:block; line-height:30px; text-align:center; text-decoration:none; color:#000; background:#f1f1f1; } ul ul { padding:0; margin:0; width:140px; border:1px solid #333; position:absolute; top:30px; left:-1px; background:#FF9; display:none; } ul ul li { text-align:center; line-height:30px; } </style> </head> <body> <ul> <li id="lis" class="lis"> <a id="link" href="#">微博</a> <ul id="ul1"> <li>私信</li> <li>评论</li> <li>@我</li> </ul> </li> </ul> <script> window.onload=function(){ var li = document.getElementById('lis'); var ul = document.getElementById('ul1'); var a = document.getElementById('link'); li.onmouseover = show; li.onmouseout = hide; function show(){ ul.style.display = 'block'; a.style.background = 'yellow'; } function hide(){ ul.style.display = 'none'; a.style.background = '#f1f1f1'; } } </script> </body> </html>
-
- HTML 的属性操作:读、写
<!DOCTYPE HTML> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <title>无标题文档</title> <script> /* HTML 的属性操作:读、写 属性名: 属性值: 读操作:获取、找到 元素.属性名 写操作:“添加?”、替换、修改 元素.属性名 = 新的值 */ window.onload = function (){ var oBtn = document.getElementById('btn1'); var oText = document.getElementById('text1'); var oSelect = document.getElementById('select1'); oBtn.onclick = function (){ //oBtn.value = 'button'; //oText.value = 123; oText.value = oSelect.value; }; }; </script> </head> <body> <input id="text1" type="text" /> <select id="select1"> <option value="北京">北京</option> <option value="上海">上海</option> <option value="杭州">杭州</option> </select> <input id="btn1" type="button" value="按钮" /> </body> </html>
- 文字放大缩小例子
<!DOCTYPE HTML> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <title>无标题文档</title> <script> window.onload = function (){ var oBtn1 = document.getElementById('btn1'); var oBtn2 = document.getElementById('btn2'); var oP = document.getElementById('p1'); var num = 14; oBtn1.onclick = function (){ if(num>12){ num -= 2; oP.style.fontSize = num + 'px'; } }; oBtn2.onclick = function (){ if(num<22){ num += 2; oP.style.fontSize = num + 'px'; } }; }; </script> </head> <body> <input id="btn1" type="button" value="-" /> <input id="btn2" type="button" value="+" /> <p id="p1" style="font-size:16px;">10月28日晚,中央纪委监察部官网发布消息,贵州省委常委、遵义市委书记廖少华因涉嫌严重违纪违法接受组织调查。3天后中组部宣布对其免职。廖成为十八大后中纪委一连串"打虎"行动中第十一位落马的副省部级以上高官。</p> </body> </html>
- js中允许"."替换成"[]"
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title></title> <style> #div1{ width:100px; height:100px; border:1px solid red; } </style> </head> <body> 请输入属性名称:<input type="text" id="attr"/><br/> 请输入属性值:<input type="text" id="val"/> <input type="button" value="确定" id="btn1"/> <div id="div1"></div> </body> <script type="text/javascript"> window.onload=function(){ var oAttr=document.getElementById("attr"); var oVal=document.getElementById("val"); var oBtn=document.getElementById("btn1"); var oDiv=document.getElementById("div1"); //js中允许"."替换成"[]" oBtn.onclick=function(){ oDiv.style[oAttr.value]=oVal.value;//[]里面的值可以随意写 } } </script> </html>
- 图片切换
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title></title> <style> *{ padding:0; margin:0; } #box{ width:400px; height:400px; background-color: #f1f1f1; margin:auto; border:2px groove red; position: relative; } #prev,#next{ position: absolute; top:160px; font-size:30px; text-decoration: none; width:40px; height:40px; background-color: #000; text-align: center; color:#fff; filter:alpha(opacity=90); opacity: 0.9; } #prev{ left:10px; } #next{ right:10px; } #strong1,#p1{ position: absolute; text-align: center; width:100%; text-align: center; height:40px; line-height: 40px; background-color: #000; color:#fff; } #strong1{ top:10px; } #p1{ bottom:0px; } #img1{ width:400px; height:400px; } </style> </head> <body> <div id="box"> <a id="prev" href="javascript:;"><</a> <a id="next" href="javascript:;">></a> <p id="p1">图片文字加载中……</p> <strong id="strong1">图片数量计算中……</strong> <img id="img1" /> </div> </body> <script type="text/javascript"> window.onload=function(){ var oPrev=document.getElementById('prev'); var oNext=document.getElementById('next'); var oP1=document.getElementById('p1'); var oStrong1=document.getElementById('strong1'); var oImg1=document.getElementById('img1'); var imgArr=['img/1.jpg','img/2.jpg','img/3.jpg','img/4.jpg']; var textArr=['第一张图片','第二张图片','第三张图片','第四张图片']; var num=0; function fTab(){ oP1.innerHTML=textArr[num]; oStrong1.innerHTML = num+1 + ' / ' + textArr.length; oImg1.src=imgArr[num]; } fTab(); oPrev.onclick=function(){ num--; if(num==-1){ num=textArr.length-1; } fTab(); } oNext.onclick=function(){ num++; if(num==textArr.length){ num=0; } fTab(); } } </script> </html>
- 自动生成5条新闻
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title></title> <script type="text/javascript"> window.onload=function(){ var arr=[ '新闻1新闻1新闻1新闻1新闻1新闻1新闻1 ', '新闻2新闻2新闻2新闻2新闻2新闻2新闻2', '新闻3新闻3新闻3新闻3新闻3新闻3新闻3', '新闻4新闻4新闻4新闻4新闻4新闻4新闻4', '新闻5新闻5新闻5新闻5新闻5新闻5新闻5' ]; var oBtn=document.getElementById('btn1'); var oUl=document.getElementById('list'); var len=arr.length; var onOff=true;//设置开关 提高用户体验 oBtn.onclick=function(){ if(onOff){ for(var i=0;i<len;i++){ oUl.innerHTML+='<li>'+arr[i]+'</li>' } } onOff=false; } } </script> </head> <body> <input type="button" id="btn1" value="自动生成5条新闻"/> <ul id="list"></ul> </body> </html>
- 自定义属性:
- 什么是自定义属性
- 运用for循环为一组元素添加开关
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>自定义属性</title> <style> li{ list-style: none; width:114px; height:140px; background: url(img/normal.png); float:left; margin-right:20px; } </style> <script type="text/javascript"> window.onload=function(){ var aLi=document.getElementsByTagName('li'); var len=aLi.length; for(var i=0;i<len;i++){ aLi[i].onOff=true; aLi[i].onclick=function(){ if(this.onOff){ this.style.background='url(img/active.png)'; this.onOff=false; }else{ this.style.background='url(img/normal.png)'; this.onOff=true; } } } } </script> </head> <body> <ul> <li></li> <li></li> <li></li> </ul> </body> </html>
-
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title></title> <script type="text/javascript"> window.onload=function(){ var aBtn=document.getElementsByTagName('input'); var len=aBtn.length; var arr=['A','B','C','D']; for(var i=0;i<len;i++){ aBtn[i].num=0; aBtn[i].onclick=function(){ this.value=arr[this.num]; this.num++; if(this.num===len){ this.num=0; } } } } </script> </head> <body> <input type="button" value="0"/> <input type="button" value="0"/> <input type="button" value="0"/> </body> </html>
- 实例:点击当前列表,切换各自的class
- 运用for循环为一组元素添加开关
- 添加索引值
- index索引值
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title></title> <script type="text/javascript"> window.onload=function(){ var aBtn=document.getElementsByTagName('input'); var len=aBtn.length; //想建立"匹配"关系,就用索引值 var arr=['韩梅梅','李雷','小花']; for(var i=0;i<len;i++){ aBtn[i].index=i;//自定义属性 索引值 aBtn[i].onclick=function(){ this.value=arr[this.index]; } } } </script> </head> <body> <input type="button" value="btn1"/> <input type="button" value="btn2"/> <input type="button" value="btn3"/> </body> </html>
- 索引值运用:图片切换实例
- 思路1:全部清除
- 思路2:清除上一个
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title></title> <style> body{ background-color: #333; } ul,p{ padding:0; margin:0; } li{ list-style: none; } #pic{ width: 400px; height:500px; position: relative; margin:0 auto; background: url(img/loader_ico.gif) center center no-repeat; } #pic img{ width:400px; height: 500px; } #pic ul{ width:40px; position:absolute; top:0; right:-50px; } #pic li{ width:40px; height:40px; margin-bottom: 4px; background-color: #666; } #pic .active{ background-color: #fc3; } #pic p, #pic span{ width:400px; height:30px; line-height: 30px; text-align: center; color:#fff; position: absolute; background-color: #333; } #pic p{ bottom:0; } #pic span{ top:0; } </style> <script type="text/javascript"> window.onload=function(){ var oPic=document.getElementById('pic'); var oImg=oPic.getElementsByTagName('img')[0]; var oSpan=oPic.getElementsByTagName('span')[0]; var oP=oPic.getElementsByTagName('p')[0]; var oUl=oPic.getElementsByTagName('ul')[0]; var aLi=oUl.getElementsByTagName('li'); var arrUrl=['img/1.png','img/2.png','img/3.png','img/4.png']; var arrText=['小宠物','图片二','图片三','面具']; var num=0; var oldLi=null; for(var i=0;i<arrUrl.length;i++){ oUl.innerHTML+='<li></li>'; } oldLi=aLi[num]; //初始化 oImg.src=arrUrl[num]; oSpan.innerHTML=num+1+'/'+arrUrl.length; oP.innerHTML=arrText[num]; aLi[num].className='active'; for(var i=0;i<aLi.length;i++){ aLi[i].index=i; aLi[i].onclick=function(){ oImg.src=arrUrl[this.index]; oSpan.innerHTML=this.index+1+'/'+arrUrl.length; oP.innerHTML=arrText[this.index]; /* <li class="active"></li> <li></li> <li></li> <li></li> */ // 思路一:全部清空,当前添加 /*for( var i=0; i<aLi.length; i++ ){ aLi[i].className = ''; } this.className = 'active';*/ // 思路二:清空上个,当前添加 oldLi.className = ''; oldLi = this; this.className = 'active'; } } } </script> </head> <body> <div id="pic"> <img src="" alt="" /> <span>数量正在加载中...</span> <p>正在加载中...</p> <ul> </ul> </div> </body> </html>
- index索引值
- 图片切换实例
- this引用
- 函数合并
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title></title> <style> body{ background-color: #333; } ul,p{ padding:0; margin:0; } li{ list-style: none; } #pic{ width: 400px; height:500px; position: relative; margin:0 auto; background: url(img/loader_ico.gif) center center no-repeat; } #pic img{ width:400px; height: 500px; } #pic ul{ width:40px; position:absolute; top:0; right:-50px; } #pic li{ width:40px; height:40px; margin-bottom: 4px; background-color: #666; } #pic .active{ background-color: #fc3; } #pic p, #pic span{ width:400px; height:30px; line-height: 30px; text-align: center; color:#fff; position: absolute; background-color: #333; } #pic p{ bottom:0; } #pic span{ top:0; } </style> <script type="text/javascript"> window.onload=function(){ var oPic=document.getElementById('pic'); var oImg=oPic.getElementsByTagName('img')[0]; var oSpan=oPic.getElementsByTagName('span')[0]; var oP=oPic.getElementsByTagName('p')[0]; var oUl=oPic.getElementsByTagName('ul')[0]; var aLi=oUl.getElementsByTagName('li'); var arrUrl=['img/1.png','img/2.png','img/3.png','img/4.png']; var arrText=['小宠物','图片二','图片三','面具']; var num=0; var oldLi=null; for(var i=0;i<arrUrl.length;i++){ oUl.innerHTML+='<li></li>'; } oldLi=aLi[num]; //初始化 fTab(); function fTab(){ oImg.src=arrUrl[num]; oSpan.innerHTML=num+1+'/'+arrUrl.length; oP.innerHTML=arrText[num]; for( var i=0; i<aLi.length; i++ ){ aLi[i].className = ''; } aLi[num].className = 'active'; } for(var i=0;i<aLi.length;i++){ aLi[i].index=i; aLi[i].onclick=function(){ num=this.index; fTab(); } } } </script> </head> <body> <div id="pic"> <img src="" alt="" /> <span>数量正在加载中...</span> <p>正在加载中...</p> <ul> </ul> </div> </body> </html>
- QQ列表图片提示实例
- 获取相邻元素
- 索引值匹配
- 为嵌套元素添加索引值
- 计数器
- 点击高亮显示当前状态
- 数组push方法
- 展开收缩列表扩展版
- 选择除当前以外的其他元素
-
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title></title> <style> ul , h2 { padding:0; margin:0; } li { list-style:none; } #list { width:240px; border:1px solid #333; margin:0 auto; } #list .lis {} #list h2 { height:30px; line-height:30px; text-indent:20px; background:url(img/ico1.gif) no-repeat 5px center #6FF; color:#000; } #list .active { background:url(img/ico2.gif) no-repeat 5px center #FF9; color:#000; } #list ul { display:none; } #list ul li { line-height:24px; border-bottom:1px solid #333; text-indent:24px; } #list ul .hover { background:#6FF; } </style> <script type="text/javascript"> window.onload=function(){ var oUl=document.getElementById('list'); var aH2=oUl.getElementsByTagName('h2'); var aUl=oUl.getElementsByTagName('ul'); var aLi=null; var arrLi=[]; for(var i=0;i<aH2.length;i++){ aH2[i].index=i; aH2[i].onclick=function(){ for(var i=0;i<aUl.length;i++){ aUl[i].style.display='none'; } aUl[this.index].style.display='block'; if(this.className==''){ aUl[this.index].style.display='block'; this.className='active'; }else{ aUl[this.index].style.display='none'; this.className=''; } } } for(var i=0;i<aUl.length;i++){ aLi=aUl[i].getElementsByTagName('li'); for(var j=0;j<aLi.length;j++){ arrLi.push(aLi[j]); } } for(var i=0;i<arrLi.length;i++){ arrLi[i].onclick=function(){ for(var i=0;i<arrLi.length;i++){//全部清除 arrLi[i].className=''; } this.className='hover';//给当前加class } } } </script> </head> <body> <ul id="list"> <li class="lis"> <h2>我的好友</h2> <ul> <li>张三</li> <li>张三</li> <li>张三</li> <li>张三</li> </ul> </li> <li class="lis"> <h2>企业好友</h2> <ul> <li>李四</li> <li>李四</li> <li>李四</li> <li>李四</li> <li>李四</li> </ul> </li> <li class="lis"> <h2>黑名单</h2> <ul> <li>张小三</li> <li>李小四</li> </ul> </li> </ul> </body> </html>
- 获取相邻元素
- 什么是自定义属性