先看个例子: 代码如下:var Class = { create : function () { return function () { this.initialize.apply(this, arguments); } } } var A = Class.create(); A.prototype = { initialize:function(){ //todo } test:"abc" } var a = new A(); 这是很多jser构建类和实例化对象的过程, 细心的人会发现: 实例化的a会多一个initialize方法。initialize在实例化时做为代理在实例化后就没有存在的意义了,而且有时候会引起不必要的...
建议在Chrom,Firefox,Opera,Safari等标准浏览器中查看. Ie下没有阴影及圆角.实现了根据源数据(样例中是一个JSON数据组)总条数, 均分出时间点以平滑向右动画方式显示在时间线上, 当鼠标划过时间点时, 显示对应的日期及标题. 鼠标划过事件, 充分考虑了用户体验, 当用户快速(无意识移动)从时间点上划过时, 并不触发相应事件. 相关的方法说明及使用, 请参见下面的注释或发评论, 同时也欢迎大家找bug并提交. Js核心代码点此查看样例 代...
虽然你现在看来没什么用,当要用的时候又到处找资料,还不如现在收集一下。 在DOM里面操作textarea里面的字符,是比较麻烦的。 于是我有这个封装分享给大家,测试过IE6,8, firefox ,chrome, opera , safari。兼容没问题。 注意:在firefox下 添加字符串的时候有个bug 就是scrollTop 会等于0,当然解决了,但是不够完美。如果有高手也研究过,麻烦指点下。 代码如下:var TT = { /* * 获取光标位置 * @Method getCursorPosition * @...
具体思路就不说了,比较常规, 代码中也有注释. 使用方法也不费话了, 就是一个简单的全局函数封装, 不懂的看下源码中注释或Google . 另外, 有兴趣的朋友,可以尝试在本插件基础上改一个可输入的下拉列表. 思路差不多,哈. 演示及代码: 演示代码 代码下载运行代码: 用dl模拟实现可自定义样式的SELECT下拉列表@Mr.Think /*reset css*/ body{font-size:0.8em;letter-spacing:1px;font-family:\5fae\8f6f\96c5\9ed1;line-height:1.8em} ...
代码如下:<script type="text/javascript">// <![CDATA[ /* @author: hongru.chen ** @date: 2010-09-15 ** @vision: 1.1 */ var Hongru = {}; function $(id){return document.getElementById(id)} Object.prototype.extend = function(target, /*optional*/source, /*optional*/deep) { target = target || {}; var sType = typeof source, i = 1, options; if( sType === undefined || sType === boolean ) { deep = sType === ...
所以在原来的基础上改了下,封装起来,并做了进一步的优化,这样同一个页面就可以使用多个这样的效果了,xhtm和css没有变化,感兴趣的朋友可以在js上面可以跟之前的代码做个对比,这样更容易理解和掌握。有什么问题和建议请回帖 @&@1.xhtml 代码如下:<div class="jfocus"> <div id="jfocuspic"> <a href="#" style="display:block;">图片一</a> <a href="#">图片二</a> <a href="#">图片三</a> ...
html代码 代码如下:<html> <head> <meta http-equiv=Content-Type content=text/html; charset=utf-8 /> <title>试试</title> </head> <script type="text/javascript"> var data = { 1 : a001, 2 : a002, 3 : a003, 4 : a004, 5 : a005, 6 : a006 }; var data2 = { 1 : { 101 : a101, 102 : a102, 103 : a103, 104 : a104 }, 2 : { 201 : a201, 202 : a202, 203 : a203, 204 : a204 }, 3 : { 301 : a301, 302 : a302, 303 : a303...
介绍 解决各个浏览器下 获取dom 元素的 位置 兼容性 ie 6 7 8 firefox 3.6 chrome 4.0 目前只测试了这几个浏览器 作者 Jelle lu QQ:271412542 Email:idche@qq.com blogs:http://www.cnblogs.com/idche/ 源码说明 jquery 源码给我很大帮助,也用到一个叫 布鲁斯 李 的同学的源码,当然更多资源来源于网络。 功能说明 // jelle(elem) 对象 elem传递对象ID 或者 dom对象 如果是窗口 传递 window 对象 //.offset() 返回当前对象相对浏...
在一些Javascript库中可以看见这种写法: 代码如下:(function(){ //所有库代码代码 })(); 说实话,对于js初学者的我来说。这个东西太吓人了,在这些JS库中,这个函数基本上把整个库的所有代码全括起来了,这种写法完全超越了我的常识。难道不应该好好的划分一下吗,难道不应该体现出层次和功能划分吗,怎么会一个函数搞定呢。我一开始完全不敢去细想它的道理。直到使用JS一段时间后,某一天一位同事在闲聊时说起了这个问题,我才...
写出的代码有点拧巴,需要再封装一下!于是就有了下面这个简单的DialogHelper辅助类,因为这篇文章分享的重点是思路,所以目前版本的代码也还非常粗糙。思路对了,后续再封装成什么样都不过是形式而已,希望这个思路能给大家点启迪,同时欢迎大家开拓思维,提出更好的改进意见。DialogHelper的源代码如下: 代码如下://--对话框辅助对象-begin //现在这个对象只是简单的封装(未来可能会复杂些)。 //其作用就是简化jQuery UI的dial...
前段时间写了一个 js数据验证、js email验证、js url验证、js长度验证、js数字验证等 弹出对话框形式的但是,现在不太流行那种很不友好的方式,于是重写了一个,封装得更加好的,更友好的层形式共享给大家,如果大家使用有bug,请大家给我留言完善,谢谢了.js代码 代码如下:/** * 数据验证框架.增加了对id字段检查出错时,直接在对应后面添加一< span>元素来显示错误信息. * * @author wangzi6hao * @version 2.1 * @description 2009-05-...
接上文说道的JSQL 4.当然随着HTML5的普及,web DB 已经是大势所趋了 所以,JSQL封装到: 代码如下:_CLIENTDATABASE_ = HotelManage; _CLIENTDBVERSION_ = 0.1; _CLIENTDBDESC_ = "First Client DataBase"; _CLIENTDBSIZE_ = 10240; JSQL("create table sqllite(id int)").OnClient().execute(); for (var i = 0; i < 1000; i++) { JSQL("insert into sqllite (id) values ("+i+")").OnClient().execute(); }; var result = ("sele...
JavaScript之信息的封装 在编码前,我们需要了解如下几个术语;封装:对内部数据的表现形式和实施细节进行隐藏; 私有属性和方法:外界只能通过其公开的接口与其进行存取和交互 作用域:JavaScript中,只有函数具有作用域,函数内部定义的属性和方法在外部无法访问 特权方法:声明在函数内部,能访问函数内部变量(属性)的方法,比较耗费内存; 代码如下:function Person() { /* * 声明私有的数据 * 昵称,年龄,邮箱 */ var nic...
话说本人转行做了前端,于是乎每天都是些div+css啥的。今天就讲讲这个用js实现类似于A标签里的title或alt功能,至于这个功能有什么好处呢,你听我慢慢道来,首先title或alt属性所带来的提示太过于简单,样式也无法修改,而且鼠标要移到元素上等待1至3秒钟才会显示出来,内容也只有简单的文字,无法加入html内容。所以呢,综上所述,只好自己封装一个属于自己的js提示框了。或许你会说jquery不是有个jtip组件吗?不错,那说明你的思...
好,那就让我们一步步打造,首先让我们来看下继承原本的写法: 代码如下:<script> var Person = function(name, age) { this.name = name; this.age = age; } Person.prototype.SayHello = function () { alert(this.name + "," + this.age); }; var Programmer = function (name, age, salary) { Person.call(this, name, age); this.salary = salary; }; Programmer.prototype = new Person(); var pro = new Programmer("kym",...