Welcome 微信登录

首页 / 脚本样式 / JavaScript

setTimeout和setInterval的深入理解

setTimeout和setInterval的深入理解

大概半年前发表过一篇关于setTimeout和setInterval的文章,但是现在回去仔细一看发现其实存在很多不足以及错误。事实上,setTimeout和setInterval并没有我们字面上理解的那么简单。要真正掌握并理解这两个方法,还得从javascript的单线程机制说起。 【开门见山】setTimeout和setInterval是如何工作的呢? 我们知道,js是单线程执行的。所以其实setTimeout和setInterval所谓的“异步调用”事...
javascript阻止scroll事件多次执行的思路及实现

javascript阻止scroll事件多次执行的思路及实现

写这个主要是为了解决一些常见网页特效在js解析时预期与效果不同。 原始代码 : 复制代码 代码如下: //测试代码 window.onscroll = function(){ alert("haha"); } 装在script标签内 鼠标滑动之后一直惦记 提示框才可以,所以很不方便 , 而且 目的是鼠标滑动后 只执行一次事件,这个效果显然和实际不符合吧。 //代码改进--增加延时器。 既然scroll事件是一个连续触发事件,那我设置一个延迟器,在用户滑动...
window.onresize 多次触发的解决方法

window.onresize 多次触发的解决方法

之前做一个扩展,需要在改变窗口大小的时候保证页面显示正常,于是用了 window.onresize 但是发现每次 onresize 后页面中状态总是不对,后来查找出来原来是 onresize 事件触发了多次找成的,于是网上搜集了下解决办法,整理一下。 // 关于 onresize 事件触发次数,不同浏览器不同,safari, opera, firefox 都是一次(分别只用了一个版本测试,都是较新的); //ie6 在 quirk 下触发 2 次,标准下 ...
原生JS可拖动弹窗效果实例代码

原生JS可拖动弹窗效果实例代码

这个代码不是我原创的,只是最近想学自己做一个很漂亮的弹窗,自己本来是不会怎么写的,所以上网去找了下,感觉这个不错,很简单,很实用,入门很棒。我就改了下,使逻辑性和可读性更好。 原作者已不可考。感谢原作者,阿门。复制代码 代码如下:<html> <head> <meta http-equiv="Content-Type"content="text/html; charset=gb2312"/> <meta name...
深入理解Javascript中的循环优化

深入理解Javascript中的循环优化

循环是大多数编程语言都具备的基本功能,JS也不例外,不同之处在于JS是解释型语言,运行于浏览器环境中,客户端的软硬件条件会对JS执行效率产生很大的影响。然而客户端环境对于开发者是未知、多样的,并且难以改变,所以优化代码质量是提高代码效率的主要途径。JS代码中,循环是比较容易导致性能问题的因素。理解循环特性进而有针对性地进行优化也许会带来不错的性能提升。for、while、do-while循环:这三种循环本身的循环效率相差不多,所以只要根据适合的应用场景选择...
详解jquery uploadify 上传文件

详解jquery uploadify 上传文件

网上找了一天,大家都说Uploadify唯一的缺点就是不支持中文按钮,杯具之前,我看了下Uploadify的API,才发现了几个参数没被大家提及的,这正是解决此问题的关键。(以后坚决养成没事就看API的习惯) Uploadify有一个参数是 buttonText 这个无论你怎么改都不支持中文,因为插件在js里用了一个转码方法把这个参数的值转过码了,解码的地方在那个swf文件里,看不到代码,所以这条路不行。 另一个参数,网上很少提到,是 buttonImg(...
5分钟理解JavaScript中this用法分享

5分钟理解JavaScript中this用法分享

前言关于JavaScript中this的用法网络中已经有较多比较详尽的介绍,可以参考本文的参考学习资料和网络。本文结合网络收集整理,尝试以一种简易的方式阐述JavaScript中this的用法,希望对大家关于JavaScript中this用法的快速理解有所帮助。正文1. this用法实例复制代码 代码如下:window.color = “red”; var o = { color: “blue” }; function sayColor(){ alert...
javascript相等运算符与等同运算符详细介绍

javascript相等运算符与等同运算符详细介绍

==运算符和===运算符用来检测两个值是否相等,它们采用了具有同一特质的两个不同定义。这两个运算符都接受任意类型的运算数,如果两个运算数相等,它们都返回true,否则都返回false,===运算符是等同运算符,它采用严格的同一特质定义检测两个运算数是否完全相同,亲们注意是完全相同哦。==运算符是相等运算符,它采用比较宽松的同一特质定义比较两个运算数是否相等。这样概念有个基本认识。下面说下具体判定两个值是相等情况吧。===运算符两个值比较1,如果两个值类型不...
面向对象设计模式的核心法则

面向对象设计模式的核心法则

1. 单一职责就一个类而言,应该仅有一个引起它变化的原因。如果一个类承担的职责过多,就等于把这些职责耦合在一起,一个职责的变化可能会削弱或者抑制这个类完成其他职责的能力。这种耦合会导致脆弱的设计,当变化发生时,设计会遭到意想不到的破坏。软件设计真正要做的许多内容,就是发现职责并把那些职责互相分离。如果你多于一个动机去改变一个类,那么这个类就具有多于一个的职责。2. 开放封闭软件实体(类,模块,函数等)应该可以扩展,但是不可修改。也就是说,对于扩展是开放的,...
全面理解面向对象的 JavaScript(来自ibm)

全面理解面向对象的 JavaScript(来自ibm)

当今 JavaScript 大行其道,各种应用对其依赖日深。web 程序员已逐渐习惯使用各种优秀的 JavaScript 框架快速开发 Web 应用,从而忽略了对原生 JavaScript 的学习和深入理解。所以,经常出现的情况是,很多做了多年 JS 开发的程序员对闭包、函数式编程、原型总是说不清道不明,即使使用了框架,其代码组织也非常糟糕。这都是对原生 JavaScript 语言特性理解不够的表现。要掌握好 JavaScript,首先一点是必须摒弃一些其...
2013年优秀jQuery插件整理小结

2013年优秀jQuery插件整理小结

今天为大家推荐的是2013年的第一期,在这期里面十个jQuery插件涵盖了响应式的网格布局插件、图片放大插件、表单元素中自定义select插件,google 地图插件、文件拖放上传插件、tooltip提示插件、3D旋转菜单等等。这些插件的官网都提供了详细的API和相关代码下载,也提供了一些案例展示,可以说稍懂一点前端的同学按照他们提供的API就会使用这些插件。1、Makisu : jQuery CSS 3D Dropdown Menu conceptMak...
js 一个关于图片onload加载的事

js 一个关于图片onload加载的事

首先先明确一下我要的目的: 当用户进入页面的时候,显示loading 加载图标,等最大的图片加载之后再opacity 图片; 功能很简单,但是很蛋疼的是,我没完全做出来; 在做的时候,第一时间我自然想到了如下的方法: 复制代码 代码如下:$(function(){ $(".banner img").load(function(){ console.log("已经加载") });});熟话说的好呀,自信心太膨胀,到头来打击很大了;我以为这样就可以了...
<< 2121 2122 2123 2124 2125 2126 2127 2128 2129 2130 >>