js
文章平均质量分 56
小菜101
这个作者很懒,什么都没留下…
展开
-
scrollTop详测
1. 如果一个元素不能被滚动(例如,它没有溢出,或者这个元素有一个"non-scrollable"属性), scrollTop将被设置为0。2. 设置scrollTop的值小于0,scrollTop 被设为03. 如果设置了超出这个容器可滚动的值, scrollTop 会被设为最大值。<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta http-equi原创 2022-04-21 10:47:08 · 729 阅读 · 0 评论 -
IE5 ~IE8的浏览器是如何持久化数据的?
我们都知道,现代浏览器可以用sessonStorage和localStorge持久化数据,那么:IE5 ~IE8的浏览器是如何持久化数据的- 用userData BehaviorUser Data:是微软为IE专门在系统中开辟的一块存储空间,所以说只支持Windows+IE的组合,实际测试在2000(IE5.5)、XP(IE6、IE7),Vista(IE7)下都是可以正常使用的。在...原创 2019-08-27 11:27:51 · 386 阅读 · 0 评论 -
cookies之事一二三
cookiesHTTP cookies,通常简称为cookies,起初是用来在客户端的会话信息。服务端的响应会在HTTP header中通过Set-Cookie加入会话信息:HTTP/1.1 200 OKContent-type: text/htmlSet-Cookie: name=valueOther-header: other-header-value另外,浏览器会存储该会话信息...原创 2019-08-22 15:50:45 · 189 阅读 · 0 评论 -
DOM Extensions(DOM扩展)
文章目录DOM Extensions(DOM扩展)一、SELECTORS API 新增选择器API二、ELEMENT TRAVERSAL 元素遍历三、Html51. class类相关的扩充getElementsByClassNameclassName属性、 classList属性2. Focus Management 焦点管理3. Changes to HTMLDocument(针对do...原创 2019-05-06 18:53:03 · 221 阅读 · 0 评论 -
Javascript组件化开发设计思想
一、引言项目中经常用web弹层组件-layer,其常见的代码如下: 使用的时候很方便,弹窗的宽高、内容、标题、关闭按钮等弹窗的状态我们都可以通过配置参数配置。layer弹层组件用同一套代码来满足不同的弹窗层表现的需求,这便是组件开发的强大之处。那么,什么是组件开发、为什么要采用这种开发形式、怎么进行组件化开发呢?下面就来一探究竟吧。 二、什么是组件化开发当多组功能相...原创 2018-09-20 15:52:39 · 9052 阅读 · 4 评论 -
JS之用面向对象和传统过程式编程
JS之用面向对象和传统过程式编程一、过程式编程如下图所示,为了实现一个div元素的拖拽功能写的代码,这是过程式编程的写法,当JS代码较少时,没必要使用面向对象。杀鸡无需用牛刀。 二、面向对象改写成面向对象时,可先将普通函数变型,再改成面向对象。普通方法变型普通方法变型,变型有3个原则1)尽量不要出现函数嵌套函数2)可以用全局变量3)把onload中不是赋值的语句放到单独函数中如下代码中,完成...原创 2018-06-30 14:28:46 · 270 阅读 · 0 评论 -
JS面向对象之原型
JS面向对象之原型一、从对象引用的问题说起 如上code中,创建了p1、p2对象,比较p1中的showName函数和p2中的showName函数,结果为false;虽然两个对象中的函数的形式、实现的功能都是一样的,但由于p1、p2是对象的引用,分别指向的是不同的两块内存区域,所以比较的结果为false;假设有1000个对象,就要在内存中开辟1000个内存区域,并且每个对象中都有showNam...原创 2018-06-30 14:21:11 · 312 阅读 · 1 评论 -
layer弹出iframe的高度不自适应。一直是150px
layer弹出iframe的高度不自适应。一直是150px通常我们用layer都是点击事件中弹出layer,如下:$("#loginbtn").click(function(){ layer.open({ type: 2, title: '欢迎登录', skin: 'login-class', maxmin: false, title: false,...原创 2018-06-25 10:05:17 · 13690 阅读 · 4 评论 -
JS面向对象之从工厂方式到构造函数
JS面向对象之从工厂方式到构造函数一个简单的例子:创建两个对象,每个对象都有各自的属性和方法:上面用面向对象的写法,表示两个对象--小明、小强,可以发现代码重复度很高,就一个名字不一样,别的代码都是一样的。工厂方式工厂方式其实就是函数封装,将多个对象相同部分封装成一个函数(功能)将上面的代码封装成如下:这个封装的过程,就好比是流水线组装产品的过程。所以称为工厂方式。构造函数进一步的。我们来比较我们...原创 2018-05-25 11:19:19 · 382 阅读 · 0 评论 -
单页切屏效果的原理
前言在实际的开发过程中碰到的单页切屏效果,稍作改动,就可以做成如下优雅的幻灯片效果了。 原理文档结构如下,监测鼠标滚轮的滚动事件,相应的执行切屏动画。实现过程中的注意事项:鼠标滚轮事件的兼容性问题: W3C并没有对鼠标滚轮事件进行规范,各浏览器厂商封装了不同的实现方法,事件属性也不一样,FireFox用了一个私有实现DOMMouseScroll。其他浏览器都是用mousewheel实现,所以需原创 2018-01-12 08:34:01 · 1942 阅读 · 0 评论 -
propertyIsEnumerable的用法
propertyIsEnumerable用法语法和功能obj.propertyIsEnumerable(prop): 判断prop属性是否是obj的可枚举属性 eg: var o = {}; var a = []; o.prop = 'is enumerable'; a[0] = 'is enumerable'; o.propertyIsEnumer原创 2017-10-24 17:00:28 · 1225 阅读 · 0 评论 -
一段js实现复制文本内容到剪切板
直接上代码:<script type="text/javascript">function copyUrl2() { var Url2=document.getElementById("biao1").innerText; var oInput = document.createElement('input'); oInput.value =原创 2017-08-23 17:24:55 · 39436 阅读 · 19 评论 -
利用ES6中的模板字符串轻松实现多行和字符串值的插入
多行字符串// Multiline strings`In JavaScript template strings can run over multiple lines, but double and single quoted strings cannot.`// 如打印或者输出,是多行的结构字符串值的插入// String interpolationvar name = 'Bob',原创 2017-07-19 16:31:21 · 2214 阅读 · 0 评论 -
通过闪烁标题来实现web消息通知的小demo
一段js代码模拟实现web消息推送的功能,通过闪烁文档的标题来实现,代码如下:var titleInit = document.title, isShine = true; setInterval(function() { var title = document.title; if (isShine == true) { if (/新原创 2017-07-17 09:30:39 · 927 阅读 · 0 评论 -
js之call() apply() bind() $proxy()的总结
关于this的使用先贴一段代码window.name = 'window';var obj = { name:'I'}function foo(name,sex){ setTimeout(function(){ console.log(this.name+' love '+name+' cause '+name+' is a '+sex); },100)原创 2017-06-21 21:16:06 · 306 阅读 · 0 评论