zoukankan      html  css  js  c++  java
  • 小bug求解释

    这是要打开的html1:本目录下引用了:jquery-3.3.1.js

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Title</title>
    </head>
    
    <body>
    
    <svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" id="main-svg"
         viewBox="-400 -300 800 600"
         preserveAspectRatio="xMidYMid slice">
        <defs>
            <polygon id="star" points="0 -10 2 -2 10 0 2 2 0 10 -2 2 -10 0 -2 -2" fill="#ff0"></polygon>
        </defs>
        <g id="star-group">
        </g>
    
    </svg>
    
    </body>
    <script src="jquery-3.3.1.js"></script>
    <script>
        ///////////////////////////////////自定义方法START-----------------------------
        /**
         * 返回svg的命名空间,老是复制粘贴怪麻烦,写个函数呗
         * @returns {string}
         * @constructor
         */
        $.SVG_NS = function () {
            return 'http://www.w3.org/2000/svg';
        };
    
        $.XLINK_NS = function () {
            return 'http://www.w3.org/1999/xlink';
        };
        /**
         * 获取范围随机数:如 $.getRange([1,9])
         * @param range
         * @returns {number}
         */
        $.range = function (range) {
            var max = Math.max(range[0], range[1]);
            var min = Math.min(range[0], range[1]);
            min = min - 1;
            var deta = max - min;
            return min + Math.ceil(Math.random() * deta);
        };
    
        /**
         *
         * @param tagName
         * @returns {jQuery|HTMLElement}
         */
        $.addSVGel = function (tagName) {
            return $(document.createElementNS($.SVG_NS, tagName));
        };
        /////////////////////////////////////////////////////////////自定义方法END-----------------------------
    
        let $svg = $('#main-svg');
        var starCount = 500;
        let $star_g = $('#star-group');
    
        renderStar();
    
        function renderStar() {
            for (let i = 0; i < 10; i++) {
                var $use = $.addSVGel('use');
                $use[0].setAttributeNS($.XLINK_NS, 'xlink:href', '#star');
                $use.attr({
                    'transform': 'translate(' + $.range([-400, 400]) + ',' + $.range([-300, 300]) + ")"
                });
                $star_g.append($use);
            }
        }
    </script>
    </html>

    结果无显示,然后把Chrome浏览器下的审查元素的内容全拷贝,粘贴到另一个文件夹:copy.html,却能显示
    理论上Chrome浏览器下的审查元素不就是当前浏览器渲染的dom树吗?为什么两次不一样。
    copy.html:

    <html lang="en"><head>
        <meta charset="UTF-8">
        <title>Title</title>
    </head>
    
    <body>
    
    <svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" id="main-svg" viewBox="-400 -300 800 600" preserveAspectRatio="xMidYMid slice">
        <defs>
            <polygon id="star" points="0 -10 2 -2 10 0 2 2 0 10 -2 2 -10 0 -2 -2" fill="#ff0"></polygon>
        </defs>
        <g id="star-group">
        <use xlink:href="#star" transform="translate(-351,-208)"></use><use xlink:href="#star" transform="translate(-329,76)"></use><use xlink:href="#star" transform="translate(-179,144)"></use><use xlink:href="#star" transform="translate(-117,128)"></use><use xlink:href="#star" transform="translate(77,183)"></use><use xlink:href="#star" transform="translate(-296,-75)"></use><use xlink:href="#star" transform="translate(29,64)"></use><use xlink:href="#star" transform="translate(245,-236)"></use><use xlink:href="#star" transform="translate(220,73)"></use><use xlink:href="#star" transform="translate(-276,-54)"></use></g>
    
    </svg>
    
    
    <script src="jquery-3.3.1.js"></script>
    <script>
        ///////////////////////////////////自定义方法START-----------------------------
        /**
         * 返回svg的命名空间,老是复制粘贴怪麻烦,写个函数呗
         * @returns {string}
         * @constructor
         */
        $.SVG_NS = function () {
            return 'http://www.w3.org/2000/svg';
        };
    
        $.XLINK_NS = function () {
            return 'http://www.w3.org/1999/xlink';
        };
        /**
         * 获取范围随机数:如 $.getRange([1,9])
         * @param range
         * @returns {number}
         */
        $.range = function (range) {
            var max = Math.max(range[0], range[1]);
            var min = Math.min(range[0], range[1]);
            min = min - 1;
            var deta = max - min;
            return min + Math.ceil(Math.random() * deta);
        };
    
        /**
         *
         * @param tagName
         * @returns {jQuery|HTMLElement}
         */
        $.addSVGel = function (tagName) {
            return $(document.createElementNS($.SVG_NS, tagName));
        };
        /////////////////////////////////////////////////////////////自定义方法END-----------------------------
    
        let $svg = $('#main-svg');
        var starCount = 500;
        let $star_g = $('#star-group');
    
        renderStar();
    
        function renderStar() {
            for (let i = 0; i < 10; i++) {
                var $use = $.addSVGel('use');
                $use[0].setAttributeNS($.XLINK_NS, 'xlink:href', '#star');
                $use.attr({
                    'transform': 'translate(' + $.range([-400, 400]) + ',' + $.range([-300, 300]) + ")"
                });
                $star_g.append($use);
            }
        }
    </script>
    </body></html>
  • 相关阅读:
    交流课件
    ARC127F ±AB
    CF1566F xor-quiz
    JOISC 2016 Day 1 棋盘游戏
    dev分支和release是什么
    drf 笔记
    drf 序列化的写法 总结
    Linux系统编程
    C/C++ 网络编程
    C++提高编程
  • 原文地址:https://www.cnblogs.com/toly-top/p/9781978.html
Copyright © 2011-2022 走看看