Jquery ThickBox插件使用心得(不建议使用)


Posted in Javascript onSeptember 08, 2010

大家可以使用官方推荐的一下几个插件

While Thickbox had its day, it is not maintained any longer, so we recommend you use some alternatives. * colorbox 
* jQueryUI Dialog 
* fancybox 
* DOM window 
* shadowbox.js

做项目中发现facebox如果快速单击两下,容易出现黑屏。而且facebox的框架是用table写的,可能因为table相对div在结构方面更稳定些。如果弹出层里是table布局的,样式就会受到facebox的样式影响,还要重新reset一下。

看了下官方的api,我研究了下,做了个整理。看下图:
Jquery ThickBox插件使用心得(不建议使用)
附件中index.html是主页,其它页面都是调用页面。点击index页面,就能看到如图的页面。图、按钮、文字都是可以点的。需要点击的标签都要加上class="thickbox"。当页面出现滚动条时,弹出层固定在窗口的正中间不会移动。当弹出层中只是图片时,图片大小会根据当前窗口的大小进行压缩。所有的弹出层都可以按"esc"退出,除了需要点确认的弹出层外,点击弹出层以外的地方都可以关闭弹出层。
1.展示图片(单张):

<a href="images/single.jpg" title="add a caption to title attribute / or leave blank" class="thickbox"> 
<img src="images/single.jpg" alt="Plant" width="100" height="75" /> 
</a>

2.展示图片(多张):
<a href="images/plant1.jpg" title="add a caption to title attribute / or leave blank" class="thickbox" rel="flowers"> 
<img src="images/plant1.jpg" alt="Plant 1" width="100" height="75"/> 
</a> 
<a href="images/plant2.jpg" title="add a caption to title attribute / or leave blank" class="thickbox" rel="flowers"> 
<img src="images/plant2.jpg" alt="Plant 2" width="100" height="75"/> 
</a> 
<a href="images/plant3.jpg" title="add a caption to title attribute / or leave blank" class="thickbox" rel="flowers"> 
<img src="images/plant3.jpg" alt="Plant 3" width="100" height="75"/> 
</a> 
<a href="images/plant4.jpg" title="add a caption to title attribute / or leave blank" class="thickbox" rel="flowers"> 
<img src="images/plant4.jpg" alt="Plant 4" width="100" height="75"/> 
</a>

这里每个a都要加上rel属性,而且属性值要一样。前后展示图可以通过" > "和" < "来切换

3.弹出层内容在当前页面中时:

<input alt="#TB_inline?height=150&width=400&inlineId=myOnPageContent" title="add a caption to title attribute / or leave blank" class="thickbox" value="Show" type="button"> 
the paragraph and input below in a ThickBox, or 
<input alt="#TB_inline?height=155&width=300&inlineId=hiddenModalContent&modal=true" title="add a caption to title attribute / or leave blank" class="thickbox" value="Show hidden modal content" type="button"> 
<div id="myOnPageContent" style="display:none;"> 
<p>Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh euismod tincidunt ut laoreet dolore magna aliquam erat volutpat. Ut wisi enim ad minim veniam, quis nostrud exerci tation ullamcorper suscipit lobortis nisl ut aliquip ex ea commodo consequat.</p> 
<p><select name=""><option>test</option></select></p> 
</div> 
<div id="hiddenModalContent" style="display:none;"> 
<p>Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh euismod tincidunt ut laoreet dolore magna aliquam erat volutpat. Ut wisi enim ad minim veniam, quis nostrud exerci tation ullamcorper suscipit lobortis nisl ut aliquip ex ea commodo consequat.</p> 
<p style="text-align: center;"><input type="submit" onclick="tb_remove()" value=" Ok " id="Login"/></p> 
</div>

第一个input点开的弹出层有input框、title和操作按钮以及文字。第二个input点开的弹出层只有文字。
弹出层的大小是根据input的alt属性里的width和height值来定义的。下面讲到的几种情况也是这样来定义弹出层大小的。

4.调用外部文件,弹出层是iframe

<a href="ajaxFrame.PHP?keepThis=true&TB_iframe=true&height=250&width=400" title="add a caption to title attribute / or leave blank" class="thickbox">Example 1</a> 
<a href="ajaxOverFlow2.html?keepThis=true&TB_iframe=true&height=300&width=500" title="add a caption to title attribute / or leave blank" class="thickbox">Example 2</a> 
<a href="iframeModal.html?placeValuesBeforeTB_=savedValues&TB_iframe=true&height=200&width=300&modal=true" title="add a caption to title attribute / or leave blank" class="thickbox">Open iFrame Modal</a>

如果弹出层是嵌套在iframe里需要添加“TB_iframe=true"。
第一个是调用ajaxFrame.PHP文件。
第二个是调用ajaxOverFlow2.html文件。
第三个是调用了iframeModal.html文件,隐藏了title和操作按钮。

5.调用外部文件,弹出层不是iframe

<a href="ajaxOverFlow.html?height=300&width=400" title="add a caption to title attribute / or leave blank" class="thickbox">Scrolling content</a> 
<a href="ajax.PHP?height=220&width=400" class="thickbox" title="add a caption to title attribute / or leave blank">No-scroll content</a> 
<a href="ajaxLogin.html?height=85&width=250&modal=true" class="thickbox" title="Please Sign In">login (modal)</a> 
<a href="ajaxTBcontent.html?height=200&width=300" class="thickbox" title="">Update ThickBox content</a>

第一个调用ajaxOverFlow.html文件。
第二个调用ajax.PHP文件。
第三个调用ajaxLogin.html文件,form表单。
第四个调用ajaxTBcontent.html文件,弹出层里再调用newTBcontent.html文件。
Javascript 相关文章推荐
Prototype RegExp对象 学习
Jul 19 Javascript
web基于浏览器的本地存储方法应用
Nov 27 Javascript
js控制input输入字符解析
Dec 27 Javascript
js创建对象的区别示例介绍
Jul 24 Javascript
快速掌握Node.js中setTimeout和setInterval的使用方法
Mar 21 Javascript
AngularJS中如何使用echart插件示例详解
Oct 26 Javascript
Bootstrap模态窗口源码解析
Feb 08 Javascript
分享Bootstrap简单表格、表单、登录页面
Aug 04 Javascript
vue使用drag与drop实现拖拽的示例代码
Sep 07 Javascript
jquery获取transform里的值实现方法
Dec 12 jQuery
Vue仿今日头条实例详解
Feb 06 Javascript
layui table单元格事件修改值的方法
Sep 24 Javascript
jquery的Tooltip插件 qtip使用详细说明
Sep 08 #Javascript
jquery的Theme和Theme Switcher使用小结
Sep 08 #Javascript
复制小说文本时出现的随机乱码的去除方法
Sep 07 #Javascript
extjs grid设置某列背景颜色和字体颜色的实现方法
Sep 06 #Javascript
动态加载图片路径 保持JavaScript控件的相对独立性
Sep 06 #Javascript
Document对象内容集合(比较全)
Sep 06 #Javascript
Jquery优化效率 提升性能解决方案
Sep 06 #Javascript
You might like
最省空间的计数器
2006/10/09 PHP
for循环连续求和、九九乘法表代码
2012/02/20 PHP
浅谈php中urlencode与rawurlencode的区别
2016/09/05 PHP
JavaScript 序列化对象实现代码
2009/12/18 Javascript
用Javascript评估用户输入密码的强度实现代码
2011/11/30 Javascript
js获取元素外链样式的方法
2015/01/27 Javascript
JS实现的简单轮播图运动效果示例
2016/12/22 Javascript
详解Javascript 中的 class、构造函数、工厂函数
2017/12/20 Javascript
详解操作虚拟dom模拟react视图渲染
2018/07/25 Javascript
微信小程序MUI导航栏透明渐变功能示例(通过改变rgba的a值实现)
2019/01/24 Javascript
js实现无缝滚动双图切换效果
2019/07/09 Javascript
理解Proxy及使用Proxy实现vue数据双向绑定操作
2020/07/18 Javascript
openLayer4实现动态改变标注图标
2020/08/17 Javascript
Vue2.0 ES6语法降级ES5的操作
2020/10/30 Javascript
[47:20]DAC2018 4.4 淘汰赛 Optic vs Mineski 第一场
2018/04/05 DOTA
Python实现判断并移除列表指定位置元素的方法
2018/04/13 Python
利用Python实现在同一网络中的本地文件共享方法
2018/06/04 Python
解决Python print 输出文本显示 gbk 编码错误问题
2018/07/13 Python
详解用Python为直方图绘制拟合曲线的两种方法
2019/08/21 Python
wxPython实现带颜色的进度条
2019/11/19 Python
VSCode基础使用与VSCode调试python程序入门的图文教程
2020/03/30 Python
Python实现Canny及Hough算法代码实例解析
2020/08/06 Python
python中绕过反爬虫的方法总结
2020/11/25 Python
英国票务网站:Ticketmaster英国
2018/08/27 全球购物
北京奥运会口号
2014/06/21 职场文书
自我管理的活动方案
2014/08/25 职场文书
市场营销工作计划书
2014/09/15 职场文书
村主任“四风”问题个人对照检查材料思想汇报
2014/10/02 职场文书
酒店人事主管岗位职责
2015/04/11 职场文书
2015年青年志愿者协会工作总结
2015/04/27 职场文书
Python-OpenCV教程之图像的位运算详解
2021/06/21 Python
Python内置数据结构列表与元组示例详解
2021/08/04 Python
Python万能模板案例之matplotlib绘制直方图的基本配置
2022/04/13 Python
MySQL约束(创建表时的各种条件说明)
2022/06/21 MySQL
python数据分析之单因素分析线性拟合及地理编码
2022/06/25 Python
Win10系统搭建ftp文件服务器详细教程
2022/08/05 Servers