网站建设如何做到完全不需要使用JS特效
据统计,当前全世界57.3%的网站运用它。也就是说,10个网站里面,有6个运用jQuery。假如只调查运用东西库的网站,这个比例就会上升到惊人的91.7%。
Javascript库 jQuery Web开发
8203;
尽管jQuery如此受欢迎,可是它臃肿的体积也让人头痛不已。jQuery 2.0的初始巨细为235KB,优化后为81KB;假如是支撑IE6、7、8的jQuery 1.8.3,初始巨细为261KB,优化后为91KB。
这样的体积,即使是宽带环境,彻底加载也需求1秒或更长,更不要说移动设备了。这意味着,假如你运用了jQuery,用户至少延迟1秒,才能看到网页作用。考虑到本质上,jQuery仅仅一个操作DOM的东西,我们不只要问:假如仅仅为了几个网页特效,是不是有必要动用这么大的库?
Javascript库 jQuery Web开发
2006年,jQuery诞生的时分,首要用于消除不一样浏览器的区别(首要是IE6),为开发者供给一个简洁的统一接口。比较当时,现在的状况现已发生了很大的变化。IE的市场份额不断降低,以ECMAScript为根底的JavaScript规范语法,正得到越来越广泛的支撑。开发者直接运用JavScript规范语法,就能一起在各大浏览器运行,不再需求经过jQuery获取兼容性。
下面就讨论如何用JavaScript规范语法,替代jQuery的一些首要功用,做到jQuery-free。
Javascript库 jQuery Web开发
一、选择DOM元素
jQuery的中心是经过各种选择器,选中DOM元素,能够用querySelectorAll办法模仿这个功用。
var $ = document.querySelectorAll.bind(document);
这儿需求留意的是,querySelectorAll办法回来的是NodeList目标,它很像数组(有数字索引和length特点),但不是数组,不能运用pop、push等数组特有办法。假如有需求,能够考虑将Nodelist目标转为数组。
myList = Array.prototype.slice.call(myNodeList);
二、DOM操作
DOM自身就具有很丰富的操作办法,能够替代jQuery供给的操作办法。
尾部追加DOM元素。
// jQuery写法
$(parent).append($(child));
// DOM写法
parent.appendChild(child)
头部刺进DOM元素。
// jQuery写法
$(parent).prepend($(child));
// DOM写法
parent.insertBefore(child, parent.childNodes[0])
删去DOM元素。
// jQuery写法
$(child).remove()
// DOM写法
child.parentNode.removeChild(child)
三、事情的监听
jQuery的on办法,彻底能够用addEventListener模仿。
Element.prototype.on = Element.prototype.addEventListener;
为了运用方便,能够在NodeList目标上也布置这个办法。