基于jQuery的上传插件uploadify

星期四,2011 九 1 03:27:16

jQuery Uploadify 是一个强有力的而且可以高度自定义的文件上传插件,它是基于jQuery 和 SWFUpload 来开发的,支持进度条显示,实现的效果非常不错。可以见下图:

从Uploadify 的下载页面上,可以看到当前的版本已经是Uploadify-v3.0.0 (Beta),但是还是一个Beta版,所以目前来说网站上的文档主要是针对 uploadify v2.14 的。所以这里就不多介绍老版本的文档了,主要说一下Uploadify3.0 的一些用法。

Uploadify 的v3.0 和老版本还是有很大的差别的,虽然从演示上来看基本上一样,但是jquery调用uploadify的时候,一些很重要的参数名字都变了。在演示上的差别,老版本是把按钮的样式放在flash里,而v3.0把按钮的样式和flash 分开了,定义起来更加自由。

下面来说一下v3.0 的使用方法和有哪些参数上变化: 阅读全文

   依洋 |  Javascript |  [5] |  浏览: 1,171次  

jQuery 和 jQueryUI 插件开发的通用框架

星期二,2011 七 5 01:34:06

jQuery插件开发的通用框架:

关于jQuery插件开发中的重要函数可以参考:jQuery插件开发中几个重要的函数 。这里主要介绍一下jQuery开发通用的一个框架:

;(function($){
$.fn.yourName = function(options){
//各种属性、参数
}
var options = $.extend(defaults, options);
this.each(function(){
//插件实现代码
});
};
})(jQuery);

jQueryUI插件开发的通用框架:

jquery.ui.widget.js提供了一个工厂方法来建立小部件的类,签名如下:
$.widget(String name, Options prototype)
调用建立小部件工厂的方法用来建立和与小部件的实例相互作用
除了由原型提供的参数以后,下面默认的方法对每一个实例都是有效的
* destroy(): 从DOM节点删除这个实例
* option(String key[, String value]): 获取或者设置选项
* enable(): 设置disabled选项为false,这取决于实例选项
* disable(): 设置disabled选项为true,这取决于实例选项
每个实例可用的属性:
* options: 当前小部件实例的所有选项,它是由用户提供的所有设置的一个集合
* element: 是包含一个单独DOM节点的jQuery对象, 它可以通过this.element[0]来访问
阅读全文

   依洋 |  Javascript |  [4] |  浏览: 1,805次  

jQuery插件开发中几个重要的函数

星期三,2011 五 4 13:12:58

jQuery.extend(target, [object1], [objectN])
返回值:对象(Object)
描述:合并两个或多个对象的内容到第一个对象
用法:在jQuery1.1.4后改方法新添一个参数 deep
jQuery.extend([deep], target, object1, [objectN])
参数
deep 如果为true,合并就变成递归的合并
target 被扩展的对象,它将会收到新的属性
object1 一个包含了新增属性的对象,它将被合并到target中
objectN 多个新增的属性的对象
当我们提供两个或多个对象的时候,$.extend() 会把所有的对象都合并到目标对象,如果只提供了一个对象,那说明target对象是被省略了的,在这种情况下,jQuery对象假设自己的就是目标对象。

通过这个函数我们可以给jQuery的命名空间里添加新的函数,记住目标对象(第一个参数)将会被修改,并且会从函数中返回,如果我们想保持原有的对象不变,可以通>过传递一个空对象作为目标:
var object = $.extend({}, object1, object2);
默认的情况$.extend()的合并是不会做递归处理的,如果第一个属性是一个对象或者是以个数组的话,它将会被新的对象中相同的属性完全覆盖,而不是被合并,但是通>过给函数的第一个参数设置为true,可以让对象在合并的时候做递归处理
   依洋 |  Javascript |  [7] |  浏览: 1,924次  

iPhone手机网站开发的插件jQTouch

星期四,2010 十一 25 17:40:35

jQTouch是jQuery的一款插件,可以在iPhone,iPod Touch等设备的Mobile WebKit浏览器上实现一些动画、列表导航、默认应用样式等各种常见UI效果。随着iPhone,iPod Touch等设备的使用日益增多,jQTouch无疑为手机网站的开发减少了很多工作,而且在样式和兼容性方面也得到了很大的提高。

jQTouch官方网站:http://www.jqtouch.com
打开首页即可下载最新的插件包和一些实例代码。下面介绍一下jQTouch的一些简单用法。

开始使用jQTouch

1.  加载插件

首先在页面的头部包含必要的脚本文件和样式文件
<style type="text/css" media="screen">@import "jqtouch/jqtouch.min.css";</style>
<style type="text/css" media="screen">@import "themes/jqt/theme.min.css";</style>
<script src="jqtouch/jquery.1.3.2.min.js" type="text/javascript" charset="utf-8"></script>
<script src="jqtouch/jqtouch.min.js" type="application/x-javascript" charset="utf-8"></script>

里面相应的文件都可以在下载的代码包里找到
阅读全文

   依洋 |  Javascript |  [21] |  浏览: 3,101次  

在firebug控制台调试javascript的函数

星期天,2010 九 19 17:11:07

前几篇文章已经介绍过Firebug及其控制台的一些用法,但是每次讲的都是以理论为主,这次从实践入手,介绍一个函数,可以在js文件中跟踪代码时,方便的在Firebug控制台中显示跟踪信息,而且兼容各个浏览器。

函数其实很简单,请看如下代码:
function firebugLog(message) {
if( typeof console != 'undefined' && console != null ) try {
console.log(new Date()+" "+message);
} catch( e1 ) { /* ignore */ }
}

这个函数里面主要是对console是否存在做了一个判断,这样就可以实现浏览器兼容,这段代码只是调用控制台的日志信息。其实在大部分的时间里,我主要是希望看到这些信息就可以了,而并不是很关心如果给这些信息归类,如果你希望按照类别来显示信息(调试,错误,或警告)的话,可以多定义几个这样的函数,然后把主体内容的log函数改成其他相应的函数,或者在这个函数里加一个参数,按照这个参数来显示不同类型的日志信息,具体的函数设置可以查看《控制台日志》。

下面来介绍如何调用这个函数,在你希望显示日志的javascript代码中调用下面的函数即可:

firebugLog('希望显示的日志信息');
阅读全文

   依洋 |  Javascript |  [31] |  浏览: 2,483次  

jQuery选择器中空格的注意事项

星期一,2010 八 9 15:20:58

jQuery中选择器中的空格一直都觉得是一个不起眼的小问题,可往往是小问题会给我们的结果带来很大的影响,多一个空格和少一个空格也许会得到截然不同的结果。所以空格问题不容忽视!

首先来解释一下选择器里带空格是什么意思,如果选择器中两个元素之间用空格隔开,则表示为前一个元素的后代元素。比如$(‘div :hidden’),表示的是div里所有的隐藏元素,这个隐藏元素可以是div的子元素,也可以是div子元素的子元素。如果选择器中没有空格的话,表示一个并且的关系,如果说$(‘div:hidden’),表示的是所有隐藏的div,这个就和元素的层次没有关系了!

下面看一个实例:HTML代码部分
<div>
<div style="display: none;">aa</div>
<div style="display: none;">bb</div>
<div style="display: none;">cc</div>
<div style="display: none;">dd</div>
</div>
<div style="display: none;">ee</div>
<div style="display: none;">ff</div>

jQuery部分
var $ta = $('.test :hidden'); //带空格的选择器表示class为test的元素中所有隐藏的元素,很明显结果是第一个div里所有的元素
var $tb = $('.test:hidden'); //不带空格的选择器,表示的是class为test并且是隐藏的元素,这里指的是后两个div以及第一个div中的最后一个子元素
alert($ta.length); //输出为4
alert($tb.length); // 输出为3

jQuery选择器中空格问题不容忽视,所以在开发过程中一定要理清思路,看看是否需要加空格。

   依洋 |  Javascript |  [45] |  浏览: 2,757次