代码改变世界

随笔分类 -  JQuery

jQuery无new创建对象原理

2019-12-02 14:25 by 盛世游侠, 277 阅读, 收藏,
摘要: // jQuery 无new 创建对象套路 (function(g,undefined){ var foo = function(){ return new foo.fn.init(); }; foo.prototype = { saySth: function(){ console.log("say something"); }, init: function(){ console.log("i 阅读全文

兼容苹果手机浏览器的事件绑定

2018-01-18 14:41 by 盛世游侠, 976 阅读, 收藏,
摘要: 在做一个微信公众号项目的时候,遇到了苹果手机微信浏览器跟安卓微信浏览器事件绑定的不同。 TestCode1: TestCode1的测试结果说明,对于页面上固有的元素(即不是JavaScript动态创建插入到页面的元素),使用jquery的on方法进行绑定,安卓和苹果的表现是一样的。 TestCode 阅读全文

jQuery源码学习:使用隐藏的new来创建对象

2016-03-31 17:02 by 盛世游侠, 287 阅读, 收藏,
摘要: 在JQuery源码中发现,JQuery定义一个类,但不用new关键字去创建该类对象,而使用方法调用()方式去创建该对象。 很多时候我们是这样写类,然后使用new创建对象的: 现在我们可以试试改成这样的: 注意这种写法较最上面的写类方式中多了以下代码(魔鬼总是隐藏在细节中): 创建类的实例(对象)方式 阅读全文

PK投票效果

2016-03-04 09:52 by 盛世游侠, 584 阅读, 收藏,
摘要: /** *createTime:2015-07-21 *updateTime:2015-06-22 *author:刘俊 *Description:PK投票 *phone:13469119119 **/ /*投票*/ (function($){ //投票插件 $.fn.voter = functio 阅读全文

上下飘动的气球动画实现方式

2016-03-01 10:38 by 盛世游侠, 628 阅读, 收藏,
摘要: //气球动画 function myfn(o,t){ var n=0; var status=0; setInterval(function(){ var top1=o.offset().top;//40 n++; if(status==0){ o.offset({top:top1+1}); }el 阅读全文

jQuery插件教程

2015-01-14 16:09 by 盛世游侠, 127 阅读, 收藏,
摘要: http://www.cnblogs.com/Wayou/p/jquery_plugin_tutorial.html 非常不错的jQuery插件教程 阅读全文

写jQuery插件时,一种更好的合并参数的方法

2015-01-14 15:32 by 盛世游侠, 231 阅读, 收藏,
摘要: 看到很多人写jQuery插件时居然这样合并参数: this.defaults = { 'color': 'red', 'fontSize': '12px', 'textDecoration':'none' }, this.options =... 阅读全文

jQuery中的$.extend方法总结

2014-09-16 19:24 by 盛世游侠, 339 阅读, 收藏,
摘要: 原文见:jQuery.extend()函数详解 Jquery的扩展方法extend是我们在写插件的过程中常用的方法,但是经常容易搞不清楚以下两个写法的关系: 1、$.extend(dest,src1,src2,src3...); 将src1、src2、src3...合并到dest中,des... 阅读全文

jQuery中多个元素的Hover事件

2014-07-23 09:41 by 盛世游侠, 1129 阅读, 收藏,
摘要: 1.需求简介2.示例研究3.解决方案1.需求简介jQuery的hover事件只是针对单个HTML元素,例如:$('#login').hover(fun2, fun2);当鼠标进入#login元素时调用fun1函数,离开时则调用fun2函数,这种API已能够满足绝大部分需求。不过,有些时候我们希望当鼠... 阅读全文

用实例一步步教你写Jquery插件

2014-03-18 20:48 by 盛世游侠, 270 阅读, 收藏,
摘要: 最近Web应用程序中越来越多地用到 了JQuery等Web前端技术。这些技术框架有效地改善了用户的操作体验,同时也提高了开发人员构造丰富客户 端UI的效率。JQuery本身提供了丰富的操作,但是,有时候我们需要根据我们自己的业务和系统特色(风格)构造一些我们常用的前端UI组件,而 JQuery的插件给了我们一个较好的方式来构造这些UI组件,方便我们日后反复重用这些组件。网上也有很多关于JQuery插件的文章,我也搜了一些,但是,这些文档太过离散,没有有效地组织并充分说明JQuey插件该如何编写,并且有哪几种形式,什么情况下使用哪种形式。下面,我将说明JQuery插件常用的写法,以及这些插件的常 阅读全文

jQuery性能优化

2014-03-18 20:36 by 盛世游侠, 215 阅读, 收藏,
摘要: 在jQuery中最快的选择器是ID选择器,因为它直接来自于JavaScript的getElementById()方法。例如有一段HTML代码:程序代码交通信号灯 红色 黄色 绿色如果采用下面的选择器,那么效率是低效的。程序代码var traffic_button = $("#content .button");因为button已经有ID了,我们可以直接使用ID选择器。如下所示:程序代码var traffic_button = $("#traffic_button");当然 这只是对于单一的元素来讲。如果你需要选择多个元素,这必然会涉及到 DOM遍历和循环 阅读全文

新手必看的jQuery优化笔记十则

2014-03-18 20:33 by 盛世游侠, 227 阅读, 收藏,
摘要: jQuery优化1.简介 jQuery正在成为Web开发人员首选的JavaScript库,作为Web开发者,除了要了解语言和框架的应用技巧外,如何提升语言本身的性能也是开发人员应该思考的问题。文章就以jQuery为例,为大家提供了10个有效提升jQuery性能的小技巧。 2. 合并、最小化脚本 大部分浏览器都不能同时处理多个脚本文件,所以它们都是排队加载——加载时间也相应地延长了。考虑到你网站的每个页面都会加载这些脚本,你应该考虑把它们放到单个文件中,然后利用压缩工具(比如Dean Edwards的这款)把它们最小化。更小的文件无疑将带来更快的加载速度。 引自YUI compressor,一款 阅读全文

编写更好的jQuery代码的建议

2014-03-18 20:29 by 盛世游侠, 167 阅读, 收藏,
摘要: 讨论jQuery和javascript性能的文章并不罕见。然而,本文我计划总结一些速度方面的技巧和我本人的一些建议,来提升你的jQuery和javascript代码。好的代码会带来速度的提升。快速渲染和响应意味着更好的用户体验。 首先,在脑子里牢牢记住jQuery就是javascript。这意味着我们应该采取相同的编码惯例,风格指南和最佳实践。 首先,如果你是一个javascript新手,我建议您阅读 《JavaScript初学者的最佳实践》 ,这是一篇高质量的javascript教程,接触jQuery之前最好先阅读。 当你准备使用jQuery,我强烈建议你遵循下面这些指南: 缓存变... 阅读全文

发布一款仿天猫产品放大镜JQuery插件

2014-03-18 17:52 by 盛世游侠, 976 阅读, 收藏,
摘要: 仿天猫放大镜JQuery插件 阅读全文

jQuery.extend函数详细用法!

2013-11-25 17:23 by 盛世游侠, 221 阅读, 收藏,
摘要: 最近在研究jQuery。把jQuery.extend扩展函数的用法记录下来。1、扩展jQuery静态方法.1$.extend({2test:function(){alert('test函数')}3})用法: $.test()2、合并多个对象.为jQuery.extend(css1,css2)为例,css1,css2个有一些属性(法照样会比处理,这里之讲属性).extend函数会把css2有而css2没有的属性加到css1中,如果css2的某个属性与css1的某个属性名称享用,就会用css2的属性去覆盖css1的同名属性。css1就是最后的整和对象。或者也可以用 :var new 阅读全文

如何在jQuery中使用 setInterval,setTimeout

2013-11-05 20:52 by 盛世游侠, 1215 阅读, 收藏,
摘要: 当遇到setInterval,setTimeout与jquery混用的问题 时,直接按JavaScript中的语法写并不起作用,有以下两种解决方法。方法1. 直接在ready中调用其他方法,会提示缺少对象的错误,应用jQuery的扩展可以解决这个问题。$(document).ready(function(){$.extend({ show:function(){ alert("ready"); }});setInterval("$.show()",3000);});方法2. 指定定时执行的函数时不要使用引号和括号。function show(){ ale 阅读全文

jQuery1.9+中删除了live以后的替代方法

2013-11-04 11:26 by 盛世游侠, 1298 阅读, 收藏,
摘要: 根据jQuery的官方描述,live方法在1.7中已经不建议使用,在1.9中删除了这个方法。并建议在以后的代码中使用on方法来替代。 on方法可以接受三个参数:事件名、触发选择器、事件函数。需要特别注意的是:on方法中间的这个触发选择器就是你将要添加的HTML元素的类名、id或者元素名,使用它就可以实现live的效果。 例如我的html文档中已经有了一个id为parent的div,我将要在这个div内部再动态添加一个class为son的span,然后我为这个span绑定一个事件,那么我需要这样写: $('#parent').on('click','.so 阅读全文

JQuery中阻止事件冒泡的两种方式及其区别

2013-11-02 15:22 by 盛世游侠, 516 阅读, 收藏,
摘要: JQuery 提供了两种方式来阻止事件冒泡。方式一:event.stopPropagation(); $("#div1").mousedown(function(event){ event.stopPropagation(); });方式二:return false; $("#div1").mousedown(function(event){ return false; });但是这两种方式是有区别的。return false 不仅阻止了事件往上冒泡,而且阻止了事件本身。event.stopPropagation() 则只阻止事件往上冒泡,不阻止事件本身 阅读全文