zoukankan      html  css  js  c++  java
  • jquery插件之表格隔行变色并鼠标滑过高亮显示

    该插件乃本博客作者所写,目的在于提升作者的js能力,也给一些js菜鸟在使用插件时提供一些便利,老鸟就悠然地飞过吧。

    此插件旨在实现表格隔行变色,且鼠标移动在表格的某一行上时,该行能高亮显示。整体代码如下:

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>表格隔行变色且鼠标滑过高亮显示</title>
    <style>
    table{border-collapse:collapse;border:none;width:20%;}
    table tr td{border:1px solid #ccc;text-align:center;cursor:pointer;}
    .evenRow{background:#f0f0f0;}
    .oddRow{background:#ff0;}
    .activeRow{background:#f00;color:#fff;}
    </style>
    <script type="text/javascript" src="../../jquery-1.7.1.js"></script>
    </head>
    
    <body>
    <script>
    /*
    * tableUI 0.1
    * Copyright (c) 2014 tnnyang http://tnnyang.cnblogs.com/
    * 使用tableUI可以方便地将表格提示使用体验。先提供的功能有奇偶行颜色交替,鼠标移上高亮显示
    * Dependence jquery-1.7.1.js
    */ 
    ;(function($){
        $.fn.tableUI = function(options){   //经常用options表示有许多个参数 
            //各种属性、参数   创建一些默认值,拓展任何被提供的选项
        var defaults = {
            evenRowClass:"evenRow",
            oddRowClass:"oddRow",
            activeRowClass:"activeRow" 
            };
        var obj = $.extend(defaults,options);
        this.each(function(){   //this关键字代表了这个插件将要执行的jQuery对象   此处没有必要将this包在$号中如$(this),因为this已经是一个jQuery对象。    $(this)等同于 $($('#element'));
               //插件实现代码
            var thisTable = $(this);   //获取当前对象   此时this关键字代表一个DOM元素   我们可以alert打印出此时的this代表的是object HTMLTableElement
            //添加奇偶行颜色
            $(thisTable).find("tr:even").addClass(obj.evenRowClass);
            $(thisTable).find("tr:odd").addClass(obj.oddRowClass);
            //添加活动行颜色
            $(thisTable).find("tr").mouseover(function(){
                $(this).addClass(obj.activeRowClass);
                });
            $(thisTable).find("tr").mouseout(function(){
                $(this).removeClass(obj.activeRowClass);
                });
            });
        };
    })(jQuery);
    //在这个封闭程序中,我们可以无限制的使用$符号来表示jQuery函数。
    </script>
    <table cellpadding="0" cellspacing="0">
      <tr><td>1</td><td>2</td><td>3</td></tr>
      <tr><td>1</td><td>2</td><td>3</td></tr>
      <tr><td>1</td><td>2</td><td>3</td></tr>
      <tr><td>1</td><td>2</td><td>3</td></tr>
      <tr><td>1</td><td>2</td><td>3</td></tr>
    </table>
    <script>
    $(function(){
        $("table").tableUI();
        })
    </script>
    </body>
    </html>
  • 相关阅读:
    bzoj2946 [Poi2000]公共串(SA,SAM)
    77 最长公共子序列
    C++ lower_bound 与 upper_bound 函数
    76 最长上升子序列
    75 寻找峰值
    C++标准输入问题
    74 第一个错误的代码版本
    73 前序遍历和中序遍历树构造二叉树
    72 中序遍历和后序遍历树构造二叉树
    71 二叉树的锯齿形层次遍历
  • 原文地址:https://www.cnblogs.com/tnnyang/p/4744402.html
Copyright © 2011-2022 走看看