javascript实例学习三

enter键实现tab的功能
重点是捕捉了onkeydown事件,并实现一个处理函数
其实就是修改了事件的属性,顺便学习一下表格的写法
<head>
    <script language="javascript">
     function changeFocus()
    {
       if(event.keyCode==13)  //根据按下的键的不同可以实现各种不同的功能,以及组合键
          event.keyCode=9;
    }
    </script>
</head>
<body>
<table id="mytbl" width="300" height="50" border="0" cellspacing="2" cellpadding="0" bgcolor="#FFb609">
  <tr>
    <td> <input type=text id="txt1" onKeyDown="changeFocus()" /></td>
<td>  <input type=text id="txt2" onKeyDown="changeFocus()"  /></td>
  </tr>
  <tr>
    <td>  <input type=text id="txt3"  onkeydown="changeFocus()" /></td>
<td>  <input type=text id="txt4" onKeyDown="changeFocus()" /></td>
  </tr>
</table>
</body>

 


关闭窗口
<a href="javascript:window.close()"><br>关闭窗口</a>

 

为连接提供下拉菜单
<script language="javascript">
        function listmenu()
        {
           document.all.sonMain.style.display=(document.all.sonMain.style.display=='none')?'':'none';
  //实质上是控制一个层的显示与隐藏
        }
</script>
</head>
<body>
 <div id="main" style="color:blue; margin:4px 4px 4px 60px;" onClick="listmenu()">
        <a href="#"> 我的网站<a></div>
    <div id="sonMain" style="display:none; margin:4px 4px 4px 70px;">
            <a href="#">&nbsp;&nbsp;关于开发语言</a><br>
            <a href="#">&nbsp;&nbsp;关于程序员前途</a><br>
            <a href="#">&nbsp;&nbsp;Microsoft前进之路</a><br>
            <a href="#">&nbsp;&nbsp;Sun前进之路</a><br>
            <a href="#">&nbsp;&nbsp;数据发展历史回眸</a><br>
            <a href="#">&nbsp;&nbsp;数据库的由来</a><br>
            <a href="#">&nbsp;&nbsp;Web2.0时代的到来</a><br>
</div>
</body>

 


////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

 

表格操作相关

 

遍历表格的每个单元格
function viewCell()
{
    var count=1;                                                    //在表格中显示的内容
    for (i=0; i < document.all.tbl.rows.length; i++) {              //遍历每行
        for (j=0; j < document.all.tbl.rows(i).cells.length; j++) { //遍历行中的每一列
            document.all.tbl.rows(i).cells(j).innerText = count;    //在单元格显示数值
            count++;
        }
    }
}

 


按回车键可以添加行
更改表格行列数量的方法
function newRow()
{
   if(event.keyCode=="13")       //如果单击的是回车键
   {
     var row= tbl.insertRow(1);  //添加行
         row.height="50";  //设置行高
     var cell1=    row.insertCell(0); //添加列
     var cell2=    row.insertCell(1);  //添加列
       cell1.innerHTML="第二行"         //指定列内容
       cell2.innerHTML="第二行第二列"
   }
}

 


对表格进行排序
思路就是把每列中的元素放到一个数组中,将数组排序之后再将排序后的结果以此输入到表格中
function sortTable(sortType)
{
    var tb=document.getElementsByTagName("table")[0];           //获取要排序的表格
    var arr=[];                                                 //初始数组
    for (var i=1;i<tb.rows.length;i++)                          //遍历表格中每一行
        arr.push(tb.rows[i].cells[sortType].innerText);         //将列的数据添加到数组中
    sortType==0 ? arr.sort(function (a,b) {return a-b}) : arr.sort();//数组排序
    for (var j=1;j<tb.rows.length;j++)
    tb.rows[j].cells[sortType].innerText=arr[j-1];                  //输出排序后的结果
}

 


///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

 

跟表单操作有关的内容

 

选择了哪一个单选框
一种最简单直接的方式,也可以操作复选框这样的控件
<script language="JavaScript">
function checkradio()
{
   var parms=document.getElementsByName("radio1");//获取所有的单选框
   var i;
   for( i=0;i<parms.length;i++)              //遍历单选框
   {
       if(parms[i].checked)                     //如果选择了此单选框
          alert("您选择了"+ parms[i].value);     //提示用户的选择
   }
}
</script>
</head>
<body>
<input name="radio1" type="radio" value="体育运动" checked=checked />体育运动
<input name="radio1" type="radio" value="旅游休闲"/>旅游休闲
<input type="button"  name="btn1" value="检查" onClick="checkradio()" />
</body>

 


单击文字实现单选框的选定
<input type="radio" name="myLike" value="Like1" id="Like1"><label for="Like1"> 体育运动:NBA</label> <br>  //for 属性规定 label 与哪个表单元素绑定
<input type="radio" name="myLike" value="Like2" id="Like2"><label for="Like2"> 休闲运动:Golf</label>

 


两个checkbox互斥
根据选择控件的情况做出较为复杂的动作,关键在于实现的逻辑
<script language="javascript">
function sel1(obj){
   if(obj.checked){                     //如果当前项被选中了
      document.all.chk2.checked=false   //则不能选择第二组
   document.all.sel1.selectedIndex=4 //指定下拉框中选择的项
   }
}
function sel2(obj){
   if(obj.checked){                     //如果当前项被选中了
   document.all.chk1.checked=false  //则不能选择第一组
   document.all.sel1.selectedIndex=0 //指定下拉框中选择的项
   }
}      
</script>
</head>
<body>
<p>A组
  <input type="checkbox" name="checkbox" value="checkbox" id="chk1" onClick="sel1(this)">
</p>
<p>B组
  <input type="checkbox" name="checkbox2" value="checkbox" id="chk2" onClick="sel2(this)">
</p>
<p>C
  <select name="select" id="sel1">
  <option selected="selected">个人</option>
  <option>200米</option>
  <option>400米</option>
  <option>800米</option>
  <option>200米接力</option>
  </select>
</p>
</body>

 


下拉菜单
涉及到了css的一些内容,看的不是很明白
和之前看的显示和影藏一个层的方式不太一样
<script language="javascript">
//为各个菜单项定义鼠标事件
startList = function()
{
if (document.all&&document.getElementById) {
  navRoot = document.getElementById("mynav");//找到菜单根目录
    for (i=0; i<navRoot.childNodes.length; i++)
    {
        node = navRoot.childNodes[i];
        if (node.nodeName=="LI") {
            node.onmouseover=function() {
            this.className+=" over"; }
             node.onmouseout=function() {
            this.className=this.className.replace(" over", ""); }
     }
   }
 }
}
window.onload=startList;
</script>

<style type="text/css">
body
{  font: normal 11px verdana;  }
ul {
  margin: 0;
  padding: 0;
  list-style: none;
  width: 150px;
  border-bottom: 1px solid #ccc;
  }
ul li
{  position: relative;  }
li ul {
  position: absolute;
  left: 149px;
  top: 0;
  display: none;
  }

/* 菜单项的样式 */
ul li a {
  display: block;
  text-decoration: none;
  color: #777;
  background: #fff;
  padding: 5px;
  border: 1px solid #ccc;
  border-bottom: 0;
  }
* html ul li { float: left; height: 1%; }
* html ul li a { height: 1%; }
li:hover ul, li.over ul { display: block; }
</style>

</head>
<body>
<ul id="mynav">
 <li><a href="#">首页</a></li>
 <li><a href="#">帮助</a>
 <ul>
 <li><a href="#">历史</a></li>
 <li><a href="#">团队</a></li>
 <li><a href="#">办公室</a></li>
 </ul>
 </li>
 <li><a href="#">客服</a>
 <ul>
 <li><a href="http://www.google.com">网页设计</a></li>
 <li><a href="#">网络销售</a></li>
 <li><a href="#">站点服务</a></li>
 <li><a href="#">区域服务</a></li>
 </ul>
 </li>
 <li><a href="#">联系方式</a>
 <ul>
 <li><a href="#">国家</a></li>
 <li><a href="#">城市</a></li>
 <li><a href="#">地址</a></li>
 <li><a href="#">电话</a></li>
 </ul>
 </li>
</ul>
</body>


 

posted @ 2012-07-23 15:13  w0w0  阅读(198)  评论(0编辑  收藏  举报