对于 Boxy弹出框的使用之前写过一些文章(查看jquery.boxy基础),今天主要是在解决一个需要之后,觉得值得把它记录下来,所以就再写一篇,主要功能是,在弹出对话框后,隔N秒后自动隐藏,还有就是自动跳转!
效果如图:
而所封装的代码如下:
1 // boxy对话框扩展 2 var Boxy_Extensions = { 3 options: { 4 title: '艺吧提示', 5 closeText: 'x' 6 }, 7 //弹出后N秒后隐藏 8 alertDelayFun: function (info, timer, options) { 9 options = $.extend(this.options, options || {}); 10 new Boxy("<div style='padding-left:50px;padding-right:50px;text-align:center;font-size:14px;'>" + info + "</div>", $.extend({ behaviours: function () { 11 setTimeout('$(".boxy-wrapper").hide();', timer); 12 } 13 }, options)); 14 }, 15 //弹出后,自动跳转 16 alertHrefFun: function (info, href, options) { 17 options = $.extend(this.options, options || {}); 18 new Boxy("<div style='padding-left:50px;padding-right:50px;text-align:center;font-size:14px;'>" + info + "</div>", $.extend({ behaviours: function () { 19 location.href = href; 20 } 21 }, options)); 22 } 23 }
因为options属性是公用的,所以把它提了出现,而每个方法有自己的options,如果在调用自己方法时传递了options,通过$.extend会把它
与类中options属性的内容进行合并(覆盖相关键的值,扩展新的键值),看来写JS也应该遵循面向对象的原则呀,呵呵!