最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

JS實(shí)現(xiàn)的樣式切換功能tableCSS實(shí)例

 更新時(shí)間:2016年12月30日 08:53:34   作者:trace332  
這篇文章主要介紹了JS實(shí)現(xiàn)的樣式切換功能tableCSS,結(jié)合實(shí)例形式分析了js頁面元素遍歷與樣式動(dòng)態(tài)操作相關(guān)技巧,需要的朋友可以參考下

本文實(shí)例分析了JS實(shí)現(xiàn)的樣式切換功能tableCSS。分享給大家供大家參考,具體如下:

把前陣子寫的JQ插件函數(shù)(alterBgColor )改寫成不基于JQ的代碼,還添加了一個(gè)click樣式效果

代碼風(fēng)格還是按照J(rèn)Q插件風(fēng)格來寫,使用了閉包來循環(huán)設(shè)置TR元素的樣式

function TableCss(options){
  //如果沒參數(shù),就退出
  if(arguments.length < 1 || !document.getElementById(options.tableName) ) { return ;}
  //參數(shù)及默認(rèn)參數(shù)
  var options = {
    tableName : options.tableName,
    evenClass : options.evenClass || "tr_even",
    oddClass : options.oddClass || "tr_odd",
    clickClass : options.clickClass || "tr_click",
    hoverClass: options.hoverClass || "tr_hover"
    }
  //根據(jù)ID找到表格元素
  var tableName = document.getElementById(options.tableName);
  var tr = tableName.getElementsByTagName("tr");
  //對(duì)TR元素循環(huán)設(shè)置
  for(var i=0, len=tr.length; i<len; i++){
    //用了閉包
    (function(k){
      //設(shè)置奇偶行樣式
      tr[k].className = (k%2==0)? options.oddClass : options.evenClass;
      //點(diǎn)擊樣式
      tr[k].onclick = function(){
        if (tr[k].className == options.clickClass){
          tr[k].className = (k%2==0)? options.oddClass : options.evenClass;
        }
        else {
          tr[k].className = options.clickClass;
        }
      }
      //鼠標(biāo)HOVER樣式,如果已經(jīng)是點(diǎn)擊樣式,則不變化
      tr[k].onmouseover = function(){
        if(tr[k].className == options.clickClass ){ return false;}
        else { tr[k].className = options.hoverClass;}
      }
      tr[k].onmouseout = function(){
        if(tr[k].className == options.clickClass){ return false;}
        else {
         tr[k].className = (k%2==0)? options.oddClass : options.evenClass;
        }
      }
     })(i)
  }
}
//調(diào)用
TableCss({tableName:"tb1"});

效果很簡單,代碼也很簡單.

只是這句tr[k].className = (k%2==0)? options.oddClass : options.evenClass;寫了三遍,本來是寫在一個(gè)function里的,但不知道在閉包里那么寫會(huì)不會(huì)影響性能(任務(wù)管理器里也沒看到有CPU使用率暴漲的情況),最后還是決定這么寫,呵呵.

測試代碼:

<style>
<!--
#tb1,
#tb1 td{ border:1px solid #000;border-collapse:collapse}
.tr_even { background:#CCC;}
.tr_odd { background:#9FF;}
.tr_hover { background:#FF6;}
.tr_click { background:#00F;}
-->
</style>
<table id="tb1" cellpadding="1" cellspacing="1">
  <tr>
    <td>123</td>
    <td>456</td>
    <td>123</td>
    <td>456</td>
    <td>123</td>
    <td>456</td>
  </tr>
  <tr>
    <td>123</td>
    <td>456</td>
    <td>123</td>
    <td>456</td>
    <td>123</td>
    <td>456</td>
  </tr>
  <tr>
    <td>123</td>
    <td>456</td>
    <td>123</td>
    <td>456</td>
    <td>123</td>
    <td>456</td>
  </tr>
  <tr>
    <td>123</td>
    <td>456</td>
    <td>123</td>
    <td>456</td>
    <td>123</td>
    <td>456</td>
  </tr>
</table>

更多關(guān)于JavaScript相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《JavaScript切換特效與技巧總結(jié)》、《JavaScript遍歷算法與技巧總結(jié)》、《JavaScript查找算法技巧總結(jié)》、《JavaScript動(dòng)畫特效與技巧匯總》、《JavaScript錯(cuò)誤與調(diào)試技巧總結(jié)》、《JavaScript數(shù)據(jù)結(jié)構(gòu)與算法技巧總結(jié)》及《JavaScript數(shù)學(xué)運(yùn)算用法總結(jié)

希望本文所述對(duì)大家JavaScript程序設(shè)計(jì)有所幫助。

相關(guān)文章

最新評(píng)論

新乡市| 台北县| 梓潼县| 大同市| 临汾市| 淅川县| 廉江市| 新巴尔虎右旗| 贵州省| 湘西| 剑川县| 吴堡县| 钟祥市| 瑞金市| 隆回县| 大庆市| 体育| 杨浦区| 东兴市| 兰溪市| 武汉市| 冷水江市| 海盐县| 祁阳县| 淮阳县| 吉安县| 仪征市| 梨树县| 密山市| 安国市| 龙胜| 达州市| 夏邑县| 建平县| 吉安市| 乌拉特前旗| 通河县| 兰州市| 陆河县| 昌平区| 务川|