随笔分类 - JavaScript
摘要:一、前言 我们一般使用方式为来引入外部层叠式样式文件,但LINK元素各属性的具体含义、资源加载行为等方面却了解不多,本文打算稍微深入一下。 由于内容较多,特设目录一坨: 二、到底有没有结束标签? 三、普通属性介绍 四、属性disabled详解 ...
阅读全文
摘要:一、前言 在《JS魔法堂:jsDeferred源码剖析》中我们了解到img元素加载失败可以作为函数异步执行的优化方案,本文打算对img元素的加载行为进行更深入的探讨。二、资源加载的相关属性和事件 资源加载首先...
阅读全文
摘要:一、前言 以下场景往往由于事件频繁被触发,因而频繁执行DOM操作、资源加载等重行为,导致UI停顿甚至浏览器崩溃。 1. window对象的resize、scroll事件 2. 拖拽时的mousemove事件 3. 射击游戏中的mou...
阅读全文
摘要:一、前言 当使用coffeescript书写如下代码时name = person?.name会被预编译为 var name = typeof person !== "undefined" && person !== null ?...
阅读全文
摘要:一、前言 最近在研究Promises/A+规范及实现,而Promise/A+规范的制定则很大程度地参考了由日本geek cho45发起的jsDeferred项目(《JavaScript框架设计》提供该资讯,再次感谢),追本溯源地了解jsDefe...
阅读全文
摘要:原文地址:https://promisesaplus.com/本篇为原文翻译+个人理解,若有谬误请各位指正,谢谢。尊重原创,转载请注明来自:http://www.cnblogs.com/fsjohnhuang/p/4139172.html ^_^肥仔John一个可靠的可共同协作的JavaScript...
阅读全文
摘要:一、前言 Promises/A是由CommonJS组织制定的异步模式编程规范,有不少库已根据该规范及后来经改进的Promises/A+规范提供了实现 如Q, Bluebird, when, rsvp.js, mmDeferred, jQuery.Deffered()等。 虽然上述实现库均以Promi
阅读全文
摘要:一、前言 有限的空间展现无限的内容,这是滚动最常用到的地方。根据信息滚动效果我们可以有很多的实现方式,但HTML自带的marquee标签是其中一个较简单的实现方式。下面记录一下,供日后查阅。二、marquee标签的基础知识 ...
阅读全文
摘要:一、关于鼠标位置的属性 1. 触发鼠标事件的区域 盒子模型中的border,padding,content区域会触发鼠标事件,点击margin区域将不触发鼠标事件。 2. 鼠标事件对象MouseEvent下的属性 [a].evt.pageX/Y :以页...
阅读全文
摘要:一、前言 《 HTML5魔法堂:全面理解Drag & Drop API》中提到从IE5开始已经支持DnD API,但IE5~9与HTML5的API有所不同,下面我们来了解一下吧!二、IE5~9与HTML5的DnD API的不同点 ...
阅读全文
摘要:一、前言 在HTML4的时代,各前端工程师为了实现拖拽功能可说是煞费苦心,初听HTML5的DnD API觉得那些痛苦的日子将一去不复返,但事实又是怎样的呢?下面我们一起来看看DnD API的真面目吧!二、由于篇幅较长,特设目录一陀 ...
阅读全文
摘要:一、前言 在为IE5.5~9polyfill HTML5新特性placeholder时需要阻止元素被选中,因此在网上、书上查阅相关资料,记录在此以便日后查阅。 二、IE10+实现方式──CSS3 user-select: auto; => 用户可以选中元素中的内容 user-select: none
阅读全文
摘要:一、前言 图片上传是一个普通不过的功能,而图片预览就是就是上传功能中必不可少的子功能了。在这之前,我曾经通过订阅input[type=file]元素的onchange事件,一旦更改路径则将图片上传至服务器,接着就获取图片路径并赋值到im...
阅读全文
摘要:一、前言 上周五公司内部的Any Topic Conf.上我和同事们分享了这个主题,有同事说这个有用,有同事说这个没啥用,后来还延伸到网站性能的话题上,大家讨论的激烈程度让我觉得这次选题还不错。本篇先不管到底有用与否,仅仅记录理论知识。...
阅读全文
摘要:一、前言 当写模块加载器时,获取当前脚本文件的绝对路径作为基础路径是必不可少的一步,下面我们一起来探讨一下这个问题吧!二、各大浏览器的实现方式 [a]. Chrome和FF 超简单的一句足矣!var getCurrAbs...
阅读全文
摘要:一、前言 或许你和我一样都曾经被下面的代码所困扰var el = document.getElementById('dummy');el.hello = "test";console.log(el.getAttribute('hello...
阅读全文
摘要:一、前言 大家先看看下面的js,猜猜结果会怎样吧! 可选答案: ①. 获取id属性值为id的节点元素 ②. 抛namedItem is undefined的异常var nodes = document.getElements...
阅读全文
摘要:一、前言 什么是doctype?其实我们一直使用,却很少停下来看清楚它到底是什么,对网页有什么作用。本篇将和大家一起探讨那个默默无闻的doctype吧!二、什么是doctype doctype或DT...
阅读全文
摘要:一、前言 从IE8开始引入了文档兼容模式的概念,作为开发人员的我们可以在开发人员工具中通过“浏览器模式”和“文档模式”(IE11开始改为“浏览器模式”改成更贴切的“用户代理字符串”)品味一番,它的出现极大地方便了苦逼的前端攻城狮们适配各版本的IE,但jser们也不能完全信任它,因为它只是提供尽可能的
阅读全文
摘要:一、前言 苦逼的前端攻城狮都深受浏览器兼容之苦,再完成每一项功能前都要左顾右盼,生怕浏览器不支持某个API,生怕原生API内含臭虫因此判断浏览器类型和版本号成了不可绕过的一道关卡,而特征嗅探是继浏览器探测后另一利器处理上述问题。二、何为特征...
阅读全文