• jQuery自定义插件 安静点


    我们可以扩展jquery,自定义方法,在使用的时候可以直接调用
    需求:
     1. 给 $ 添加4个工具方法:
       * min(a, b) : 返回较小的值
       * max(c, d) : 返回较大的值
       * leftTrim() : 去掉字符串左边的空格
       * rightTrim() : 去掉字符串右边的空格
     2. 给jQuery对象 添加3个功能方法:
     * checkAll() : 全选
     * unCheckAll() : 全不选
     * reverseCheck() : 全反选
    my_jQuery-plugin.js:
    /*
     需求:
     1. 给 $ 添加4个工具方法:
       * min(a, b) : 返回较小的值
       * max(c, d) : 返回较大的值
       * leftTrim() : 去掉字符串左边的空格
       * rightTrim() : 去掉字符串右边的空格
     2. 给jQuery对象 添加3个功能方法:
     * checkAll() : 全选
     * unCheckAll() : 全不选
     * reverseCheck() : 全反选
     */
    (function () {
    
      // 扩展$的方法
      $.extend({
        min: function (a, b) {
          return a < b ? a : b
        },
        max: function (a, b) {
          return a > b ? a : b
        },
        leftTrim: function (str) {
          return str.replace(/^\s+/, '')
        },
        rightTrim: function (str) {
          return str.replace(/\s+$/, '')
        }
      })
    
      // 扩展jQuery对象的方法
      $.fn.extend({
        checkAll: function () {
          this.prop('checked', true) // this是jQuery对象
        },
        unCheckAll: function () {
          this.prop('checked', false)
        },
        reverseCheck: function () {
          // this是jQuery对象
          this.each(function () {
            // this是dom元素
            this.checked = !this.checked
          })
        }
      })
    
    })()

    使用:

    <!DOCTYPE html>
    <html>
    <head>
      <meta charset="UTF-8"> 
      <style type="text/css">
        * {
          margin: 0px;
        }
    
        .div1 {
          position: absolute;
          width: 100px;
          height: 100px;
          top: 50px;
          left: 10px;
          background: red;
        }
      </style>
    </head>
    <body>
    <input type="checkbox" name="items" value="足球"/>足球
    <input type="checkbox" name="items" value="篮球"/>篮球
    <input type="checkbox" name="items" value="羽毛球"/>羽毛球
    <input type="checkbox" name="items" value="乒乓球"/>乒乓球
    <br/>
    <input type="button" id="checkedAllBtn" value="全 选"/>
    <input type="button" id="checkedNoBtn" value="全不选"/>
    <input type="button" id="reverseCheckedBtn" value="反选"/>
    
    <!--
    1. 扩展jQuery的工具方法
      $.extend(object)
    2. 扩展jQuery对象的方法
      $.fn.extend(object)
    -->
    <script src="js/jquery-1.10.1.js" type="text/javascript"></script>
    <script type="text/javascript" src="js/my_jQuery-plugin.js"></script>
    <script type="text/javascript">
      /*
       需求:
       1. 给 $ 添加4个工具方法:
         * min(a, b) : 返回较小的值
         * max(c, d) : 返回较大的值
         * leftTrim() : 去掉字符串左边的空格
         * rightTrim() : 去掉字符串右边的空格
       2. 给jQuery对象 添加3个功能方法:
         * checkAll() : 全选
         * unCheckAll() : 全不选
         * reverseCheck() : 全反选
       */
      console.log($.min(3, 5), $.max(3, 5))
      var string = '   my atguigu    '
      console.log('-----' + $.leftTrim(string) + '-----')
      console.log('-----' + $.rightTrim(string) + '-----')
    
      //$items为jquery的对象
      var $items = $(':checkbox[name=items]')
      $('#checkedAllBtn').click(function () {
        $items.checkAll()
      })
      $('#checkedNoBtn').click(function () {
        $items.unCheckAll()
      })
      $('#reverseCheckedBtn').click(function () {
        $items.reverseCheck()
      })
    </script>
    </body>
    </html>
  • 相关阅读:
    信令基本概念
    CMMI
    关于OpenDataSource, OpenRowSet
    冒泡排序
    使用Sqlldr向oracle导入数据
    PowerDesigner生成sql和反向工程生成ER图的问题
    2021.1.4 学习总结
    12天 —— 关于生活与目标的思考【2020.8.5~2020.8.17】
    大一暑假学习总结(七)【2020.7.28~2020.8.4】
    学习:用javascript增加、删除行(转)
  • 原文地址:https://www.cnblogs.com/anjingdian/p/15600566.html
Copyright © 2020-2023  润新知