<!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8"> <title></title> <style> .search { width:300px; height: 30px; margin: 100px auto; position: relative; } .search input { width:200px; height:25px; } .search label { font-size: 12px; color:#ccc; position: absolute; top:8px; left:20px; /*此光标指示文本*/ cursor: text; } </style> <script> window.onload = function(){ function $(id){return document.getElementById(id);} // oninput 大部分浏览器支持 检测用户表单输入内容 // onpropertychange ie678 检测用户表单输入内容 // 事件是可以连等的btn.onclick=btn.onmouseover $("txt").oninput = $("txt").onpropertychange = function(){ if(this.value ==""){ $("message").style.display = "block"; } else { $("message").style.display = "none"; } } //$("txt").oninput = function(){ //if(this.value ==""){ //$("message").style.display = "block"; //} //else { //$("message").style.display = "none"; //} //} //$("txt").onpropertychange = function(){ //if(this.value ==""){ //$("message").style.display = "block"; //} //else { //$("message").style.display = "none"; //} //} } </script> </head> <body> <div class="search"> <input type="text" id="txt"/> <!--想光标跳到谁身上就放谁的ID,当我们点击label的时候,光标回到input里面--> <label for="txt" id="message">必败的国际大牌</label> </div> </body> </html>
正常浏览器支持 :oninput Ie 678支持的 : onpropertychange
原图 鼠标经过变色(1) 鼠标经过变色(2)
<!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8"> <title></title> <style> .box { width: 300px; } li { line-height: 30px; list-style-type: none; } li span { margin:5px; } .current{ background-color: #ccc!important; } </style> <script> window.onload = function(){ var lis = document.getElementsByTagName("li"); for(var i=0;i<lis.length;i++){ if(i%2==0) { lis[i].style.backgroundColor = "#eee"; } //鼠标经过li的时候,当前的(this)底色变量 lis[i].onmouseover = function(){ //!!!!!一定是this不是lis[i],因为是当前鼠标在的这个li变色!!!! this.className = "current"; } lis[i].onmouseout = function(){ this.className=""; } } } </script> </head> <body> <div class="box"> <ul> <li> <span>上证指数</span><span>3641</span><span>10-5</span><span>0.16%</span> </li> <li> <span>上证指数</span><span>3641</span><span>10-5</span><span>0.16%</span> </li> <li> <span>上证指数</span><span>3641</span><span>10-5</span><span>0.16%</span> </li> <li> <span>上证指数</span><span>3641</span><span>10-5</span><span>0.16%</span> </li> <li> <span>上证指数</span><span>3641</span><span>10-5</span><span>0.16%</span> </li> <li> <span>上证指数</span><span>3641</span><span>10-5</span><span>0.16%</span> </li> <li> <span>上证指数</span><span>3641</span><span>10-5</span><span>0.16%</span> </li> <li> <span>上证指数</span><span>3641</span><span>10-5</span><span>0.16%</span> </li> <li> <span>上证指数</span><span>3641</span><span>10-5</span><span>0.16%</span> </li> <li> <span>上证指数</span><span>3641</span><span>10-5</span><span>0.16%</span> </li> </ul> </div> </body> </html>鼠标经过颜色变深,但是已经有背景色的li未发生变化,因为之前的颜色写在行内式,权重是1000,.current权重是10,所以会被盖住(如图) 所以要提高current的权重+“!important”
图片位置坐标以及对应索引号依次为(0,0)->0;(0,-25)->1;(0,-50)->2;得到 坐标=(索引号*25)
在之前的京东网页上继续写JS:
<script> var iis = document.getElementById("iconsprite").getElementsByTagName("i"); alert(iis.length) for(var i=0;i<iis.length;i++){ iis[i].style.backgroundPosition = "0 "+(-25*i)+"px"; } </script>如此,图片得到遍历:
“0”+10 显示为010 10-“2” 显示为8 也就是说,加号会连,但是减乘除都是当做数字0运算 所有input取过来的值是字符型 将字符型转化成数值型: var num = Number(txt.value); var num = parseInt(txt.value); 引引加加:“50px”+i+”px”; “你好“”+i+“吧”等同于 “你好1”+“吧”(i为任意数值)
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title></title> <script> //将js写在input的上面需要加window.onload,如果写在input下面,就不需要了,因为程序是从上向下执行 window.onload = function(){ var txt = document.getElementById("txt"); //没有给button的id值,可以用数组写 var btn = document.getElementsByTagName("button")[0]; btn.onclick = function(){ var num = Number(txt.value); alert(num+num); } } </script> </head> <body> <input type="text" id="txt"> <button>点击</button> </body> </html>var index = 2;是变量,谁都可以用 arr.index = 2;是自定义属性,他只能在arr才能使用
改进后:
<!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8"> <title></title> <style> .box { width: 400px; margin:100px auto; border:1px solid #ccc; } .bottom div{ width:100%; height: 300px; background-color: pink; display: none; } .purple { background-color: purple; } .bottom .show { display: block; } </style> <script> window.onload = function(){ var btns = document.getElementsByTagName("button"); var divs = document.getElementById("divs").getElementsByTagName("div"); for(var i= 0;i<btns.length;i++) { btns[i].index = i; btns[i].onclick = function(){ for(var j=0;j<btns.length;j++) { btns[j].className = ""; divs[j].className = ""; } this.className = "purple"; divs[this.index].className = "show"; } } } </script> </head> <body> <div class="box"> <div class="top"> <button>第一个</button> <button>第二个</button> <button>第三个</button> <button>第四个</button> <button>第五个</button> </div> <div class="bottom" id="divs"> <div class="show">1好盒子</div> <div>2好盒子</div> <div>3好盒子</div> <div>4好盒子</div> <div>5好盒子</div> </div> </div> </body> </html>