Jquery弹出层插件ThickBox的使用方法


Posted in Javascript onDecember 09, 2014

thickbox是jQuery的一个插件,其作用是弹出对话框、网页框,使用户体验度更加愉悦,下面就来简单介绍它的几种用法。
声明一下:这只是个人的总结记载而已。
准备工作:你需要三个文件:thickbox.js、thickbox.css、jquery.js,网上到处可下

具体使用:

第一步:将这三个文件引入到你要使用thickbox的页面

<script type="text/javascript" src="jquery.js"></script> 

    <script type="text/javascript" src="thickbox.js"></script>

    <link rel="stylesheet" href="thickbox.css" type="text/css" />

第二步:一般简单使用就是给<a>标签和Button添加样式:class=thickbox
还有就是通过thickbox函数调用:如tb_init()、tb_show();见下文。

几种不同用法:

1.点击显示图片:

 <a href="001.jpg" class="thickbox"><img src="001.jpg"/></a>
ok,就这样搞定
2.点击按钮或链接:

<input alt="#TB_inline?height=300&width=400&inlineId=div1" title="shawnliu" class="thickbox" type="button" value="Show" />   

   <a href="#TB_inline?height=155&width=300&inlineId=div2&modal=true" class="thickbox">Show hidden modal content.</a>

   

   <div id="div1" style="display:none">

   <P>

     这是一个非模式对话框。

   </P>

   </div>
   <div id="div2" style="display:none">

   <P>

     这是一个模式对话框。

     <p style="TEXT-ALIGN: center"><INPUT id="Login" onclick="tb_remove()" type="submit" value="  Ok  " /></p>

   </P>

   </div>

说明:给你要使用thickbox的<a>或button添加"#TB_inline?height=300&width=400&",#TB_inline是thickbox固定用法,height和width是显示弹出对话框的大小参数,inlineId是你要显示的标签或组件,modal是模式与非模式的选择,当然你还可以接很多你自定义的参数
3.一般在项目中用得比较多的就是加载form的页面,如添加,编辑在同一个list列表页面,这时我们就可以将添加和编辑都做成thickbox形式,如下图:

Jquery弹出层插件ThickBox的使用方法

怎样做呢一样的,给添加链接加thickbox样式:

<a href="add.shtml?width=300&height=250" class="thickbox">新增</a>
前提是你得将要显示的页面(add.shtml)做好,然后指定你要显示的大小
编辑同样是一样:先将原信息提取出来,再让用户修改:

Jquery弹出层插件ThickBox的使用方法

代码也一样:

<a href="edit.shtml?width=300&height=250&nid=item.nid" class="thickbox">编辑</a>

4.能自己定位到需要用thickbox的元素,不使用样式,可以用函数,如:

<div id="PicList">

<a href="Pic01.jpg"><img src="Pic01s.jpg" border="0"/></a>

<a href="Pic02.jpg"><img src="Pic01s.jpg" border="0"/></a>

</div>
$(function() {

tb_init("#PicList a[img]");});

5.通过ajax加载的页面,thickbox样式会失效,解决办法:
只要在AJAX载入HTML并更新到页面后执行下以下代码:

tb_init('.thickbox');
6.自定义函数调用:
如点击缩图,要显示大图,缩略图URL只不过在大图URL的后缀前加了s:

<div id="PicList">

<img src="Pic01s.jpg" border="0"/>

<img src="Pic01s.jpg" border="0"/>

</div>
$(function() {

$("#PicList img").click(function() {

tb_show("",this.src.substring(0,this.src.length-5)+'.jpg',false);

});});

另外,如果想用其它事件,还可以将click改成你想触发thickbox的事件。

THICKBOX支持一下浏览器:
Windows IE 6.0, Windows IE 7+, Windows FF 2.0.0.6+, Windows Opera 9.0+, Macintosh Safari 2.0.4+, Macintosh FF 2.0.0.6+, Macintosh Opera 9.10……但是据我的使用,IE6还是有点问题的!

Javascript 相关文章推荐
JavaScript CSS菜单功能 改进版
Dec 20 Javascript
Safari5中alert的无限循环BUG
Apr 07 Javascript
解析javascript系统错误:-1072896658的解决办法
Jul 08 Javascript
node.js入门教程迷你书、node.js入门web应用开发完全示例
Apr 06 Javascript
理解javascript定时器中的单线程
Feb 23 Javascript
深入学习JavaScript的AngularJS框架中指令的使用方法
Mar 05 Javascript
解决拦截器对ajax请求的拦截实例详解
Dec 21 Javascript
Javascript操作dom对象之select全面解析
Apr 24 Javascript
vue封装第三方插件并发布到npm的方法
Sep 25 Javascript
详解vue-cli中的ESlint配置文件eslintrc.js
Sep 25 Javascript
Vue开发之封装上传文件组件与用法示例
Apr 25 Javascript
JavaScript工具库之Lodash详解
Jun 15 Javascript
浅谈JavaScript函数节流
Dec 09 #Javascript
node.js中的console.log方法使用说明
Dec 09 #Javascript
node.js中的console.warn方法使用说明
Dec 09 #Javascript
node.js中的console.info方法使用说明
Dec 09 #Javascript
浅谈JavaScript实现面向对象中的类
Dec 09 #Javascript
node.js中的console.trace方法使用说明
Dec 09 #Javascript
node.js中的console.time方法使用说明
Dec 09 #Javascript
You might like
探讨如何在PHP开启gzip页面压缩实例
2013/06/09 PHP
php实现概率性随机抽奖代码
2016/01/02 PHP
php格式化时间戳
2016/12/17 PHP
浅谈PHP中的面向对象OOP中的魔术方法
2017/06/12 PHP
thinkPHP框架RBAC实现原理分析
2019/02/01 PHP
网页里控制图片大小的相关代码
2006/06/13 Javascript
juqery 学习之五 文档处理 包裹、替换、删除、复制
2011/02/11 Javascript
nodeType属性返回被选节点的节点类型介绍
2013/11/22 Javascript
JS动态改变表格边框宽度的方法
2015/03/31 Javascript
jQuery检测滚动条是否到达底部
2015/12/15 Javascript
JavaScript 函数的执行过程
2016/05/09 Javascript
JSP基于Bootstrap分页显示实例解析
2016/06/12 Javascript
用原生JS对AJAX做简单封装的实例代码
2016/07/13 Javascript
使用原生的javascript来实现轮播图
2017/02/24 Javascript
JavaScript中递归实现的方法及其区别
2017/09/12 Javascript
JavaScript 继承 封装 多态实现及原理详解
2019/07/29 Javascript
vue-cli+iview项目打包上线之后图标不显示问题及解决方法
2019/10/16 Javascript
LayUi数据表格自定义赋值方式
2019/10/26 Javascript
搭建vscode+vue环境的详细教程
2020/08/31 Javascript
学习 Vue.js 遇到的那些坑
2021/02/02 Vue.js
windows下python模拟鼠标点击和键盘输示例
2014/02/28 Python
Python中模块pymysql查询结果后如何获取字段列表
2017/06/05 Python
Flask模拟实现CSRF攻击的方法
2018/07/24 Python
Python 调用PIL库失败的解决方法
2019/01/08 Python
Python3 Tkinter选择路径功能的实现方法
2019/06/14 Python
Django中的用户身份验证示例详解
2019/08/07 Python
Python学习笔记之错误和异常及访问错误消息详解
2019/08/08 Python
python 中值滤波,椒盐去噪,图片增强实例
2019/12/18 Python
通用的Django注册功能模块实现方法
2021/02/05 Python
购买澳大利亚最好的服装和内衣在线:BONDS
2016/10/14 全球购物
请解释在new与override的区别
2012/10/29 面试题
后进生转化工作制度
2014/01/17 职场文书
服装电子商务创业计划书
2014/01/30 职场文书
《母亲的恩情》教学反思
2014/02/13 职场文书
小学校长个人总结
2015/03/03 职场文书
2015年世界粮食日演讲稿
2015/03/20 职场文书