PageSourceSearch

https://btstu.cn/assets/js/main.js

js btstu.cn collected 2026-10-03 22:24:05 UTC 3,797 bytes, 104 lines download raw bytes

1var oTxt = document.getElementById('search');
2var oList = document.getElementById('list');
3var oBtn = document.getElementById('btn');
4
5$(function() {
6
7    $.get("ajax.php?act=select", function(data, status) {
8        result = $.parseJSON(data);
9        var apiName = [];
10        for (var i = 0; i < result.length; i++) {
11            apiName[i] = result[i];
12        }
13        //点击事件
14        oBtn.addEventListener('click', function() {
15            var keyWord = oTxt.value;
16            // var apiNameList = searchByIndexOf(keyWord,apiName);
17            var apiNameList = searchByRegExp(keyWord, apiName);
18            renderapiName(apiNameList);
19        }, false);
20        //回车查询
21        oTxt.addEventListener('keydown', function(e) {
22            if (e.keyCode == 13) {
23                var keyWord = oTxt.value;
24                // var apiNameList = searchByIndexOf(keyWord,apiName);
25                var apiNameList = searchByRegExp(keyWord, apiName);
26                renderapiName(apiNameList);
27            }
28        }, false);
29        var cpLock = false;
30        $('#search').on('compositionstart', function() {
31            cpLock = true;
32        });
33        $('#search').on('compositionend', function() {
34            cpLock = false;
35            var keyWord = oTxt.value;
36            // var apiNameList = searchByIndexOf(keyWord,apiName);
37            var apiNameList = searchByRegExp(keyWord, apiName);
38            renderapiName(apiNameList);
39        });
40        $('#search').on('input', function() {
41            if (!cpLock) {
42                var keyWord = oTxt.value;
43                // var apiNameList = searchByIndexOf(keyWord,apiName);
44                var apiNameList = searchByRegExp(keyWord, apiName);
45                renderapiName(apiNameList);
46            }
47        });
48
49
50
51        function renderapiName(list) {
52            if (!(list instanceof Array)) {
53                return;
54            }
55            oList.innerHTML = '';
56            var len = list.length;
57            var item = null;
58            for (var i = 0; i < len; i++) {
59                // item = document.createElement('tr');
60                oList.innerHTML += '<tr class="pack"><td class="title"><a href="doc/' + list[i]['address'] + '.php" target="_blank">' + list[i]['name'] + '</a></td><td><a href="doc/' + list[i]['address'] + '.php" target="_blank">' + list[i]['info'] + '</a></td><td><a href="doc/' + list[i]['address'] + '.php" target="_blank"><i class="fa fa-star"></i> ' + list[i]['num'] + '</a></td></tr>';
61                // oList.appendChild(item);
62            }
63        }
64
65
66
67
68        //模糊匹配的时候如果不区分大小写,可以使用toLowerCase()或者toUpperCase()转换之后去匹配。
69
70        //模糊查询1:利用字符串的indexOf方法
71        function searchByIndexOf(keyWord, list) {
72            if (!(list instanceof Array)) {
73                return;
74            }
75            var len = list.length;
76            var arr = [];
77            for (var i = 0; i < len; i++) {
78                //如果字符串中不包含目标字符会返回-1
79                if (list[i].indexOf(keyWord) >= 0) {
80                    arr.push(list[i]);
81                }
82            }
83            return arr;
84        }
85        //正则匹配
86        function searchByRegExp(keyWord, list) {
87            if (!(list instanceof Array)) {
88                return;
89            }
90            var len = list.length;
91            var arr = [];
92            var reg = new RegExp(keyWord);
93            for (var i = 0; i < len; i++) {
94                //如果字符串中不包含目标字符会返回-1
95                if (list[i]['name'].match(reg)) {
96                    arr.push(list[i]);
97                }
98            }
99            return arr;
100        }
101        renderapiName(apiName);
102    });
103
104});

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.