thickbox需要修改thickbox.js中的图像路径设置
var tb_pathToImage = "/thickbox/loadingAnimation.gif";
然后如果要显示调用thickbox,把下面的代码注释掉,并在页面中手工加载imgLoader,
$(document).ready(function(){
tb_init('a.thickbox, area.thickbox, input.thickbox');//pass where to apply thickbox
imgLoader = new Image();// preload image
imgLoader.src = tb_pathToImage;
});
或者只注释掉tb_init,不让他自动去搜索绑定元素,要显示调用如下
function showbox(obj) {
//obj就是上面那些绑定的如a.thickbox之类元素
var t = obj.title || obj.name || null;
var a = obj.href || obj.alt;
var g = obj.rel || false;
tb_show(t,a,g);
obj.blur();
return false;
}
也可以直接指定t,a,g等属性
jquery ui 的1.6rc5版本,用以下方法调用dialog
function showbox(t) {
$("#popS").dialog({
bgiframe: true, //在IE6中,不设置此选项会无法盖住select,需要在jquery.com下载bgiframe插件
height: 210,
width:320,
modal: true,
title: t, //不设置此选项则会读取div的title属性
closeOnEscape:true, //是否允许按escape退出
resizable: true, //是否允许resize
draggable: true, //是否允许拖动
overlay: {
backgroundColor: '#000',
opacity: 0.5
}
});
}
function tb_go(t) {
if (typeof($("#popS").dialog("isOpen")) == "undefined") {
showbox(t);
} else {
$("#popS").dialog('open');
}
//ui-dialog-titlebar-close是关闭按钮,取消绑定可以让不能退出,同时在dialog参数中取消escape,ui-dialog-titlebar是上方的条
//$("a.ui-dialog-titlebar-close").unbind("click");
//$(".ui-dialog-titlebar").hide();
}
两者对比:jquery ui在复杂的页面中,如果打开modal,速度很慢.并且加载的东西太多,在复杂页面中刚出来时在ie6中没盖住select,移动一下弹出层才让select被盖住,而且弹出层在整个页垂直居中,而不是可视窗口居中.关闭层时,页面会回到顶部,很不好.
总之,在复杂的页面中,不管是哪种box都慢,特别是在低配置电脑上用ie6,竟然要1500ms才弹出,关闭也差不多要这么久.如果用ff就快.不管哪种box,要能够显示开启或关闭才好.不过还没找到完全满意的,比如还没找到让thickbox在modal时不能按键退出的办法
另外,在用jquery1.3.1时,发觉nth-child查找非常慢,本来1ms,现在要100多ms,页面经常提示是否要中止脚本,完全无法忍受,用find全部然后再eq就正常,但用nth-chlid地方很多,全换太不方便,所以换回1.2.6,一切又正常了.不过,1.3.1中的有些特性比如css位置更多了,期待jquery快修复bug
阅读(2153) | 评论(0) | 转发(0) |