码迷,mamicode.com
首页 > Web开发 > 详细

JS jQuery=== 知识点

时间:2019-08-02 20:05:44      阅读:107      评论:0      收藏:0      [点我收藏+]

标签:border   func   jquer   htm   query   scale   device   ice   initial   

========== jQuery 插件的编写

 

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Document</title>
    <style>
        div {
            width: 100px;
            height: 100px;
            border: 5px solid black;
        }
    </style>
</head>

<body>
    <div></div>
    <div></div>
    <script src="./lib/jquery-3.4.1.min.js"></script>
    <script>

        //jquery插件的编写:4点
        //  1. 使用立即执行函数
        (function ($) {
            //确保$就是jQuery
            //  2. $.fn.extend添加插件.
            //  将randomColor添加到jQuery.prototype上了
            //  实际上$.fn === jQuery.prototype
            $.fn.extend({
                randomColor: function () {
                    // console.log(‘randomColor被调用了‘);
                    // this就是jquery的实例(伪数组)
                    //  3. 要遍历jQuery对象中的每个DOM节点
                    // let random = () => ‘#‘ + (‘000000‘ + Math.floor(Math.random() * 0xFFFFFF).toString(16)).slice(-6)

                    // let random = function () {
                    //     //0x开头的数字,表示16进制的数字
                    //     let num = Math.floor(Math.random() * 0xFFFFFF)
                    //     //将num转换为16进制字符串
                    //     num = num.toString(16)
                    //     //将num前面补零,保证至少6位
                    //     num = (‘000000‘ + num).slice(-6)
                    //     return ‘#‘ + num;
                    // }

                    let random = function () {
                        var r = Math.floor(Math.random() * 256)
                        var g = Math.floor(Math.random() * 256)
                        var b = Math.floor(Math.random() * 256)

                        return `rgb(${r},${g},${b})`
                    }
                    
                    for (var i = 0; i < this.length; i++) {
                        //随机设定每个元素的背景色
                        $(this[i]).css({
                            backgroundColor: random()
                        })
                    }

                    //  4. 要实现链式操作
                    return this;
                }
            })
        })(jQuery)


        $(‘div‘).randomColor().css({
            borderColor: ‘purple‘
        })
    </script>
</body>

</html>

 

JS jQuery=== 知识点

标签:border   func   jquer   htm   query   scale   device   ice   initial   

原文地址:https://www.cnblogs.com/rabbit-lin0903/p/11290879.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!