继承 发表于 2019-03-04 | 分类于 JavaScript | 继承: 首先继承是一种关系,类(class)与类之间的关系,JS中没有类,但是可以通过构造函数模拟类,然后通过原型来实现继承。继承也是为了数据共享,JS中的继承也是为了实现数据共享。下面介绍三种继承方法。 通过改变原型指向实现继承这是一个Person构造函数,用于构造Person类的对象: ... 阅读全文 »
JS电商上线项目 发表于 2019-02-28 | 分类于 JavaScript | 架构设计 前后端完全分离 分层架构 逻辑层–数据层–工具层 通过层级的划分来进行系统的解耦,提高系统可扩展性和可维护性 模块化 达到进一步解耦的效果,让系统通过组件的拼装来完成业务的实现。 模块化的另一个好处:支持团队的并行开发,提高整个团队的效率 技术选型HTML+CSS+Jav ... 阅读全文 »
导航细线边框的实现 发表于 2019-02-25 | 分类于 CSS | 要实现如下边框: 一般不要直接给每个盒子加border:1px solid #ccc,这样会使中间的边框线重合变成了2px的线,太粗,不好看。 方法一:只给盒子的下边框和右边框加border,贴边的消除border 12345678910.nav-item { /*bord ... 阅读全文 »
遍历DOM树 发表于 2019-02-16 | 分类于 JavaScript | 代码: 123456789101112131415161718192021222324252627282930313233343536373839404142// 第一个函数:给我根节点,我会找到所有的子节点:forDOM(根节点)// 获取这个根节点的子节点// var children ... 阅读全文 »
css的权重问题 发表于 2019-02-02 | 分类于 CSS | CSS优先级定义CSS样式时,经常出现两个或更多规则应用在同一元素上,这时就会出现优先级的问题。 在考虑权重时,初学者还需要注意一些特殊的情况,具体如下: 继承样式的权重为0。即在嵌套结构中,不管父元素样式的权重多大,被子元素继承时,他的权重都为0,也就是说子元素定义的样式会覆盖继承来的样式 ... 阅读全文 »
JS封装动画函数 发表于 2019-01-14 | 分类于 JavaScript | 本文介绍JavaScript实现动画效果的封装函数,将从匀速水平移动开始,在此基础上不断增加新功能,如二级标题所示。 匀速水平移动动画这哥们可以用来写轮播图。 1234567891011121314151617181920212223242526272829<head> &l ... 阅读全文 »
JS实现全选与全不选 发表于 2019-01-13 | 先来看效果图: 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374 ... 阅读全文 »
绑定/解绑事件兼容代码 发表于 2019-01-13 | 分类于 JavaScript | 为元素绑定( 多个 )事件(DOM)除了用对象.onclick=fn这类的方式(这种方式无法绑定多个事件,如果写了多个事件则会发生覆盖),还有: 1 对象.addEventListener(“事件类型”,事件处理函数,false)–谷歌、火狐和IE9、10、11支持,IE8不支持 2 对 ... 阅读全文 »
JS搜索框自动提示 发表于 2019-01-13 | 分类于 JavaScript | 效果展示: html部分: 123456789101112131415161718192021222324252627282930313233343536 <style> #box { width: 450px; ... 阅读全文 »
自定义属性操作案例 发表于 2019-01-13 | 为了练习一下自定义属性操作,做了一个tab栏切换的demo 自定义属性操作 getAttribute() 获取标签行内属性 setAttribute() 设置标签行内属性 removeAttribute() 移除标签行内属性 与element.属性的区别: 上述三个方法用于获取任意的行内属性 ... 阅读全文 »