
JavaScript
文章平均质量分 85
JS
脱离语言
这个作者很懒,什么都没留下…
展开
-
树的排布、展开与折叠算法
该文章分享了树的可视化逻辑,并最终分享了js源码实现。包含各个结点位置的确定算法,涉及树的遍历等基本技能原创 2022-09-04 10:36:03 · 1199 阅读 · 1 评论 -
jQuery学习笔记1(2)—— 层级选择器
1、层级选择器 如果两个DOM元素具有层级关系,就可以用$('ancestor descendant')来选择,层级之间用空格隔开。 层级选择器相比单个的选择器好处在于,它缩小了选择范围,因为首先要定位父节点,才能选择相应的子节点,这样避免了页面其他不相关的元素。 2、子选择器 子选择器$('parent>child')类似层级选...原创 2018-12-04 14:32:32 · 285 阅读 · 0 评论 -
jQuery学习笔记1(3)—— 查找和过滤
1、查找 最常见的查找是在某个节点的所有子节点中查找,使用find()方法,它本身又接收一个任意的选择器。 如果要从当前节点开始向上查找,使用parent()方法。 对于位于同一层级的节点,可以通过next()和prev()方法。 2、过滤 和函数式编程的map、filter类似,jQuery对象也有类似的方法。 ...原创 2018-12-04 14:53:06 · 198 阅读 · 0 评论 -
jQuery学习笔记1(4)—— 操作DOM
1、修改Text和HTML jQuery对象的text()和html()方法分别获取节点的文本和原始HTML文本。 无参数调用text()是获取文本,传入参数就变成设置文本,HTML也是类似操作。 一个jQuery对象可以包含0个或任意个DOM对象,它的方法实际上会作用在对应的每个DOM节点上。 2、修改CSS jQu...原创 2018-12-04 15:47:34 · 236 阅读 · 0 评论 -
jQuery学习笔记1(5)—— 修改DOM结构
1、添加DOM 要添加新的DOM节点,除了通过jQuery的html()这种暴力方法外,还可以用append()方法。 除了接受字符串,append()还可以传入原始的DOM对象,jQuery对象和函数对象。 append()把DOM添加到最后,prepend()则把DOM添加到最前。 如果要添加的DOM节点已经存在于HTML...原创 2018-12-05 08:07:20 · 223 阅读 · 0 评论 -
jQuery学习笔记1(6)—— 事件
click事件 on方法用来绑定一个事件,需要传入事件名称和对应的处理函数。 另一种更简化的写法是直接调用click()方法。 1、jQuery能够绑定的事件主要包括:(1)鼠标事件click: 鼠标单击时触发; dblclick:鼠标双击时触发; mouseenter:鼠标进入时触发; mouseleave:鼠标移出时触发; mouse...原创 2018-12-05 10:05:03 · 227 阅读 · 0 评论 -
jQuery学习笔记1(7)—— 动画
1、show / hide 直接以无参数形式调用show()和hide(),会显示和隐藏DOM元素。但是,只要传递一个时间参数进去,就变成了动画。 时间以毫秒为单位,但也可以是'slow','fast'这些字符串。 toggle()方法则根据当前状态决定是show()还是hide()。 2、slideUp / slideDown ...原创 2018-12-05 15:21:37 · 185 阅读 · 0 评论 -
jQuery学习笔记1(8)—— AJAX
jQuery在全局对象jQuery(也就是$)绑定了ajax()函数,可以处理AJAX请求。ajax(url, settings)函数需要接收一个URL和一个可选的settings对象,常用的选项如下:async:是否异步执行AJAX请求,默认为true,千万不要指定为false; method:发送的Method,缺省为'GET',可指定为'POST'、'PUT'等; c...原创 2018-12-05 15:37:19 · 159 阅读 · 0 评论 -
jQuery学习笔记1(9)—— 扩展
编写一个jQuery插件的原则:给$.fn绑定函数,实现插件的代码逻辑; 插件函数最后要return this;以支持链式调用; 插件函数要有默认值,绑定在$.fn.<pluginName>.defaults上; 用户在调用时可传入设定值以便覆盖默认值。 针对特定元素的扩展https://www.liaoxuefeng.com/wiki/00143444668986...原创 2018-12-05 15:59:03 · 185 阅读 · 0 评论 -
Layui的table中使用select
这段时间用Layui做前端开发,遇到不少问题,已圆满解决,记录如下:1、穿梭框Layui从2.5.0版本增加了穿梭框,但项目要求左右两边均是表格,无奈只好使用第三方的穿梭框。2、左右两边的表列数显示不一样在原代码的基础上修改,使之支持两表的列定义。3、未选择行,两表中间的按钮依然可以点击由于原按钮显示状态是完全正确的,只是无选中的行时按钮未禁用,所以只需要在相应的按钮上用r...原创 2019-06-19 17:57:24 · 15384 阅读 · 4 评论 -
jQuery学习笔记1(1)—— 选择器
jQuery名字起得很土,但却是JavaScript世界中使用最广泛的一个库。 从jQuery官网可以下载最新版本。 $是著名的jQuery符号。实际上,jQuery把所有功能全部封装在一个全局变量jQuery中,而$也是一个合法的变量名,它是变量jQuery的别名。 1、按ID查找 jQuery对象和DOM对象之间可以...原创 2018-12-04 13:35:27 · 209 阅读 · 0 评论 -
jQuery学习笔记2(1)—— 语法
1、基础语法: $(selector).action()$(this).hide() - 隐藏当前元素 $("p").hide() - 隐藏所有 <p> 元素 $("p.test").hide() - 隐藏所有 class="test" 的 <p> 元素 $("#test").hide() - 隐藏所有 id="test" 的元素 2、j原创 2018-12-04 11:30:53 · 227 阅读 · 0 评论 -
jQuery学习笔记2(0)—— 简介
jQuery库包含以下功能:HTML 元素选取 HTML 元素操作 CSS 操作 HTML 事件函数 JavaScript 特效和动画 HTML DOM 遍历和修改 AJAX Utilities Staticfile CDN:<script src="https://cdn.staticfile.org/jquery/1.10.2/jquery.min.js"&...原创 2018-12-04 11:13:25 · 139 阅读 · 0 评论 -
JavaScript学习笔记(1)——快速入门
1、数据类型(1)Number,JavaScript不区分整数和浮点数,统一用Number表示NaN; // NaN表示Not a Number,当无法计算结果时用NaN表示Infinity; // Infinity表示无限大,当数值超过了JavaScript的Number所能表示的最大值时,就表示为Infinity(2)布尔值:true、false,&&、||、!...原创 2018-11-16 11:13:12 · 151 阅读 · 0 评论 -
Node.JS学习笔记(1)——模块
使用模块可以避免函数名和变量名冲突。1、CommonJS规范 每个.js文件都是一个模块,它们内部各自使用的变量名和函数名都互不冲突。(1)要在模块中对外输出变量,用:module.exports = variable; 输出的变量可以是任意对象、函数、数组等等。(2)要引入其他模块输出的对象,用:var foo = re...原创 2018-11-21 09:56:33 · 222 阅读 · 0 评论 -
JavaScript学习笔记(2)——函数(1)
1、函数定义和调用(1)JavaScript允许传入任意个参数而不影响调用,因此传入的参数比定义的参数多也没有问题,虽然函数内部并不需要这些参数;传入的参数比定义的少也没有问题,未对应的参数值为undefined(2)避免收到undefined,可以对参数进行检查(3)JavaScript还有一个免费赠送的关键字arguments,它只在函数内部起作用,并且永远指向当前函数的调用者传入...原创 2018-11-16 16:24:53 · 236 阅读 · 0 评论 -
JavaScript学习笔记(3)——函数(2)
高阶函数1、map,与Python类似(1)由于map()方法定义在Array中,调用Array的map()方法,传入自己的函数,就得到了一个新的Array作为结果2、reduce,与Python类似(1)Array的reduce()把一个函数作用在这个Array的所有元素上,这个函数必须接收两个参数,reduce()把结果继续和序列的下一个元素做累积计算3、filter,与P...原创 2018-11-16 16:59:22 · 296 阅读 · 0 评论 -
Node.JS学习笔记(2)——Web开发
1、koa 和koa 1相比,koa2完全使用Promise并配合async来实现异步。 Nunjucks是一个模板引擎。2、mysql(1)Model 首先要定义的就是Model存放的文件夹必须在models内,并且以Model名字命名,每个Model必须遵守一套规范:统一主键,名称必须是id,类型必须是STRING(50); ...原创 2018-11-22 09:35:20 · 212 阅读 · 0 评论 -
JavaScript学习笔记(4)——函数(3)
1、闭包 闭包就是携带状态的函数,并且它的状态可以完全对外隐藏起来。 闭包还可以把多参数的函数变成单参数的函数。https://www.liaoxuefeng.com/wiki/001434446689867b27157e896e74d51a89c25cc8b43bdb3000/00143449934543461c9d5dfeeb848f5b72bd012e...原创 2018-11-20 09:11:06 · 185 阅读 · 0 评论 -
JavaScript学习笔记(5)——标准对象
为了区分对象的类型,我们用typeof操作符获取对象的类型,它总是返回一个字符串:typeof 123; // 'number'typeof NaN; // 'number'typeof 'str'; // 'string'typeof true; // 'boolean'typeof undefined; // 'undefined'typeof Math.abs; // 'fu...原创 2018-11-20 11:32:44 · 109 阅读 · 0 评论 -
JavaScript学习笔记(6)——面向对象编程
JavaScript不区分类和实例的概念,而是通过原型(prototype)来实现面向对象编程。 JavaScript的原型链和Java的Class区别就在,它没有“Class”的概念,所有对象都是实例,所谓继承关系不过是把一个对象的原型指向另一个对象而已。1、创建对象 当我们用obj.xxx访问一个对象的属性时,JavaScript引擎先在当...原创 2018-11-20 13:30:39 · 217 阅读 · 0 评论 -
JavaScript学习笔记(7)—— underscore
underscore则提供了一套完善的函数式编程的接口,让我们更方便地在JavaScript中实现函数式编程。 https://underscorejs.org1、Collections underscore为集合类对象提供了一致的接口。集合类是指Array和Object,暂不支持Map和Set。(1)map / filter ...原创 2018-11-26 10:00:11 · 267 阅读 · 0 评论 -
JavaScript学习笔记(0)——我的现状
2007年本科毕业,研究生还未开学,本着赚钱的目的,准备在诺基亚手机上写游戏,需要用J2ME。之前只写过C和C++的代码,于是开始学Java。先学J2SE,然后写了个网页版的俄罗斯方块。浏览器运行,页面顶部会出现一个黄条提示是否运行,确认运行了才能显示游戏画面。现在想来,那个肯定是JavaScript,当时傻傻居然没分清Java和JavaScript。书上可能有讲这个是JavaSc...原创 2018-11-16 10:18:16 · 199 阅读 · 0 评论