随笔 - 19
文章 - 0
评论 - 341
阅读 -
23万
随笔分类 - javascript
Js组件的一些写法(一)
摘要:今天看了rank的一篇javascript脚本控件topic,突然想总结一下一些写JS组件的方法,或者说一些不同人的不同coding style。 首先看下Prototype里的写法:[代码] 如果你不喜欢上面这一大堆Class.create之类的,你也可以这样:[代码] 当然,也可以把this.msg的初始化放到function A(msg){this.msg=msg;}里。总之你会发现这...
阅读全文
腾讯的一个不固定高度消息的滚动特效
摘要:8月最后1天,赶紧补篇博客。贴个最近看到的腾讯的特效,写的还可以。先看效果。<div> <table width="320" cellpadding="0" cellspacing="0" align="left" style="border-collapse:collapse;border:1px solid black;"> <tr> <td val...
阅读全文
前端开发必须知道的JS(二) 闭包及应用
摘要:在前端开发必须知道的JS(一) 原型和继承一文中说过下面写篇闭包,加之最近越来越发现需要加强我的闭包应用能力,所以此文不能再拖了。本文讲的是函数闭包,不涉及对象闭包(如用with实现)。如果你觉得我说的有偏差,欢迎拍砖,欢迎指教。 一. 闭包的理论 首先必须了解以下几个概念: 执行环境 每调用一个函数时(执行函数时),系统会为该函数创建一个封闭的局部的运行环境,即该函数的执行环境。函数总是...
阅读全文
分享下如何写JS数组sort的比较函数
摘要:我们知道,数组的sort方法可以对数组元素进行排序,默认是按ASCII字母表顺序排序。如果要根据其他的顺序排序就需要为sort方法提供一个比较函数作为参数。这里讲的就是如何写这个比较函数。 譬如: var a=[1,5,3,7]; a.sort(function(a, b) { return b-a});//从大到小排列 那如果复杂点的顺序应该如何写这个比较函数呢。 对于比较函数func...
阅读全文
JS写for循环,为什么一定要加var
摘要:我知道,有些人(譬如之前的我)写js的for循环时,都不习惯加上var,这当然是语法允许的。譬如下面。 [代码] 但是,这真的不是个好习惯,下面我就说说为什么写Js的for循环一定要加var,否则会时不时给你带来烦人难查的bug。 譬如现在我们要实现这样的功能:输出 10 20 30 40 50 60 70 80 90 100 通过下面code实现,WriteNum...
阅读全文
Js动画(二)梦幻西游之逍遥生游览北俱芦洲
摘要:背景:梦幻西游;人物:逍遥生;场景:北俱芦洲。 游览行为:点击鼠标,人物行走。右键也能使人物转向。由于我只找到了人物四个方向的素材,所以如果刚好正对人物位置的水平或垂直方向,走起来会有些别扭,如果用八方图,code上只要再加正东南西北四个方向即可。一共使用了2张图片,一张是人物的四方图,一张是场景图,场景图用于设为body背景。 贴上一部分效果图,你可以在本文结尾下载整个demo。 先贴...
阅读全文
Js动画(一)基础
摘要:在再谈js拖拽(二)仿iGoogle自定义首页模块拖拽的最后,我说了接下来要写Js动画,转瞬拖到了今天,呵呵。这篇主要讲动画的基础,就是几个最基本的特效,即:移动,渐变和尺寸变化。接下来写个梦幻西游版逍遥生角色行走的动画,然后再适时的写些动画有关的例子,争取把这个系列写好。 我们玩魔兽世界的时候可以通过ctrl+r来查看当前的帧数,当帧数很小时,会觉得很卡,帧数很高则很流畅。所谓帧数就是1秒内显...
阅读全文
前端开发必须知道的JS(一) 原型和继承
摘要:原型和闭包是Js语言的难点,此文主要讲原型及原型实现的继承,在(二)中会讲下闭包,希望对大家有所帮助。若有疑问或不正之处,欢迎提出指正和讨论。一. 原型与构造函数 Js所有的函数都有一个prototype属性,这个属性引用了一个对象,即原型对象,也简称原型。这个函数包括构造函数和普通函数,我们讲的更多是构造函数的原型,但是也不能否定普通函数也有原型。譬如普通函数:[代码] 构造函数,也即构造对...
阅读全文
JS实现tooltip的封装
摘要:Tooltip就是将鼠标停留某页面元素上,出现该元素的提示信息。一般应用中,我们指定title的值即可实现,当然他在一定时间后会消失。如果不让他消失,或者要显示一些有特别样式的提示信息,就要自己定义层来实现这样的tooltip,所以Tooltip的实现就是在元素的指定位置显示这样的层。首先贴上code~代码使用:在window.onload中调用:ToolTip.addTips()。可以设置可选参...
阅读全文
无刷新上传解析csv文件
摘要:前阵子工作中用到,贴上代码,仅保留上传有关的代码,发现code其实很少。上传页面html/js处理文件上传的c#code 做到无刷新,基本原理就是:通过表单提交到iframe里,从而使刷新发生在iframe里。form设置action指向处理上传的文件,target指向iframe。上传操作的结果可以返回到iframe里,调用父对象的FinishUpload方法显示是否上传成功。所以在AJAX未...
阅读全文
再谈js拖拽(二)仿iGoogle自定义首页模块拖拽
摘要:首先这篇文章是基于 再谈js拖拽(一) code基础上的,进行改动实现的仿iGoogle自定义首页模块拖拽功能。将code贴上,你也可在下方进行下载。code未免枯燥,我将尽量用文字描述思路及注意点,所以即便你不看code也能根据文字翻译成你的code。代码1. 准备1.1 由于模块拖拽中使用虚线框,所以去除(一)中拖拽的保持原有DIV的功能(即keepOrigin);1.2 在新建Drag对象时...
阅读全文
再谈js拖拽(一)
摘要:关于js拖拽早已是老生常谈,网上一搜一大坨,但是有很多并不是很完善,或者兼容性不够,或者功能不全,并且这样的东西还是自己写的好用。我打算在(一)中主要对js拖拽功能的注意点进行罗列,力求简单;在(二)中利用(一)的拖拽去实现类似google个性化首页的拖拽模块功能。 首先贴上完整code(IE/FF/Chrome)代码Code highlighting produced by Actipro C...
阅读全文
JS实现非图片动态loading
摘要:功能说明:譬如在按某个button时,显示消息"Loading”,然后每隔一秒后后面加上".",至一定数量的"."时如:"Loading...",再重置此消息为"Loading",继续动态显示,直至按钮事件处理完成。<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/T...
阅读全文