jQuery教程(31)-jQuery插件开发之全局函数插件

文章标签: jquery,jquery插件
2015-1-21 18:32:01     22 人阅读    

         很多流行的插件在jQuery命名空间中提供了一些新的全局函数。在插件提供的功能与页面 中的DOM元素无关,因而不适合扩展标准jQuery方法的情况下,这种模式是很常见的。例如, Cookie 插件(https://github.com/carhartl/jqueiy-cookie)提供了读写页面中cookie 值的接口。而这个功能是通过$.cookie()函数提供的,这个函数可以取得或设置个别的cookie值。


        例如,假设我们想在用户单击幻灯片的Pause按钮时保持暂停状态,当用户离开当前页面再 返回时仍然保持暂停。那么,在加载Cookie插件后,只要将cookie名作为参数就可以读取到cookie 的值了,如代码清单7-6所示。
代码清单7-6

if ( $.cookie('cyclePaused') ) {
$books.cycle('pause');
}


          这里,我们检查名为cyclePaused的cookie是否存在。此时这个cookie的值是什么并不重要。 如果存在这个cookie,则暂停播放幻灯片。把这个暂停条件判断语句插到对.cycle()的调用后 面,就可以使幻灯片暂停在第一幅图像的状态,直到用户在某一时刻单击Resume按钮。
         当然,由于我们还没有设置cookie的值,因此幻灯片会照常播放所有图像。设置cookie就和 取得cookie的值一样简单,只要传递一个字符串作为第二个参数即可,参见代码清单7-7。
代码清单7-7

var $controls = $('<div id="books-controls"></div>')
.insertAfter($books);
$('<button>Pause</button>').click(function(event) { event.preventDefault();
$books.cycle('pause');
$.cookie(,cyclePaused,, ,y,);
}).appendTo($controls);
$('<button>Resume</button>').click(function(event) { event.preventDefault();
$('ul:paused').cycle('resume');
$.cookie('cyclePaused,, null);
}).appendTo($controls);

         在单击Pause按钮时,将cookie的值设置为y,而在单击Resume按钮时,通过传递null将这个cookie删除。默认情况下,cookie的值将在会话期间保持,直到关闭浏览器标签页为止。此外, 默认情况下,cookie还是与设置它的页面关联的。如果想改变这个默认设置,可以为这个函数提 供一个选项对象作为第三个参数。这是jQueiy插件乃至jQueiy核心函数的典型使用模式。
          比如,要想让cookie在整个站点中都可以访问到,而且让它在7天之后再过期,就可以像这样 来调用函数:$.cookie(’cyclePaused’,’y’,{path: expires: 7})。要了解这方面的更多信息,以及调用$.cookie()时可以使用的选项,请参考这个插件的文档。


原文地址:http://www.itmmd.com/201501/534.html
该文章由 萌萌的IT人 整理发布,转载须标明出处。

linux命令详解(29)用 sed 替换文本,sed命令详解   上一篇
下一篇  jQuery教程(30)-jQuery插件开发之自定义选择符

精彩回复
发表评论
姓名:       

《程序员app》专门为程序员量身定做!