Home » WP Trick

简单实现图片的 ThickBox 效果

衡天小张,四钻保证

好吧,文章开头我就先承认:我这折腾有点蛋疼。

其实低调高手 willin 已经写过《發揮 WP 內置的 Thickbox 功能》来实现 ThickBox 的图片展示效果,但是 WP 升至 2.9 以后,ThickBox 做了修改,thickbox.js 增加了 "thickboxL10n" 变量, 找不到這变量 thickbox 就失效了。修正方法就是采用 WP 挂 script 的标准方式, 也就是 willin 所写的第一种方法, 用 add_thickbox() 挂上就可解決。

用 add_thickbox() 挂上 ThickBox 的 js 会同时挂上 jQuery 库,而我喜欢用压缩过的 jQuery 库,所以我前段时间停止这个方法了,转而用 A-Shun 在《为博客图片添加 Shadowbox 效果》介绍的 Shadowbox 图片效果

Shadowbox 其实效果挺不错,今天热的蛋疼突然嫌 Shadowbox 太大,js、css、图片加起来有 47.6 K,我还是喜欢 ThickBox 的小巧。

于是今天想想,何不自己直接挂上 ThickBox ?不用 WP 自带的?于是来到 ThickBox 的官网下载最新的 ThickBox 3.1 并折腾好了。

ThickBox 效果(点击下图)

先来个美女

再来个,嘿嘿

ThickBox 很小巧,js + css + 图片才 15K,下面是方法和我打包好的 ThickBox

1. 下载我打包好的 ThickBox 3.1 ,把压缩包解压到所使用的主题目录下,下载地址:uushare (2010.7.17 Update)

2. 确保你主题已经加载 jQuery 库,如果没有加载,打开主题文件 header.php 把下面的加载代码加到<?php wp_head(); ?> 前面。

<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js"></script>

3. 把下面的加载代码加到 <?php wp_head(); ?> 下面

<?php if ( is_singular() ){ /* 只在单个页面加载 */ ?>
	<link rel="stylesheet" type="text/css" href="<?php bloginfo('template_directory'); ?>/thickbox/thickbox.css">
	<script type="text/javascript" src="<?php bloginfo('template_directory'); ?>/thickbox/thickbox-compressed.js"></script>
<?php } ?>

4. 使用方法

单图放大

<a class="thickbox" href="http://...(大图)..."><img src="http://...(缩图)..." /></a>

多图相册

<a class="thickbox" rel="group1" href="http://...(第1张大图)..."><img src="http://...(第1张缩图)..." /></a>
<a class="thickbox" rel="group1" href="http://...(第2张大图)..."><img src="http://...(第2张缩图)..." /></a>
<a class="thickbox" rel="group1" href="http://...(第3张大图)..."><img src="http://...(第3张缩图)..." /></a>

如果你想偷懒,那么用 willin 的留一手:用 jQuery 为每张图片链接自动加上

/* 用 jQuery 为每张图片链接自动加上 class="thickbox" */
$('#content p a').each(function(){ //根据主题内容区的 id 设置选择器
var a_href = $(this).attr('href').toLowerCase();
var file_type = a_href.substring(a_href.lastIndexOf('.'));
if (file_type == '.jpg' || file_type == '.png' || file_type == '.gif'){$(this).addClass('thickbox')};
});

OK,搞定,简单,蛋疼

2010.7.17 Update

竟然不显示 loading 图片,看了下 js 代码,图片竟然不能用相对路径,囧~

解决方法

第一种:用绝对路径吧(废话)

打开 thickbox-compressed.js 把

var tb_pathToImage = "images/loadingAnimation.gif";

中的 images/loadingAnimation.gif 改为图片 loadingAnimation.gif 的绝对路径

第二种:如果你的wp安装在根目录下,那么重新下载压缩包吧(就是使用 wp-includes/js/thickbox/loadingAnimation.gif 这个图片)

囧~

声明: 本文采用 BY-NC-SA 协议进行授权 | ZWWoOoOo
转载请注明转自《简单实现图片的 ThickBox 效果

Related Posts:

Most Popular

124 Comments.

⊕Leave a comment?
  1. 呵呵,不错不错的,那这个方法是不是每次都得手动指定大图和小图的呢?

    #31
  2. 跟auto-highslide效果比,哪个更好些?

    #32
  3. 不错的功能,准备移植到俺blog上

    #33
  4. 这次我只看美女~ :grin:

    #34
  5. 东西好,美女更好。

    #39
  6. 第二个!!!

    #41
  7. 第一个果然标致!

    #42
  8. 我看到很多人 博文看头有这个图片 我还去刷了很多次呢 原来就是这个么

    #43
  9. 不错,轻快型的,虽然我还是更喜欢highslide的豪华感

    #44
  10. 这个效果很不错啊,很漂亮

    #45
  11. 第二个三维MM真不错 (¯﹃¯)

    #46
  12. 不错,不过lightbox也很华丽~

    #48
  13. 好像不行啊,没看到效果。

    #50
  14. 啊~就是一直在找這樣簡單小巧不耗費資源的效果呢!真是太棒的分享了 :lol:

    #51
  15. 和那个Disable autosave有什么区别? :sad:

    #52
  16. 我用的是jQuery精简版..js才3k不过没动画效果,但功能不错

    #53
  17. 最近怎么都再折腾图片插件??

    #54
  18. 报告,搜狗没效果,直接跳转到图片

    #55
  19. 貌似1.42的jquery的库加载了没用。。。

    我把1.32的库直接换上了1.42的,就没效果了!!! :???:

    #56
  20. 我悲剧了,主题加上之后就提示有错误!

    #57
  21. jQuery 怎么用啊?我搞不清楚加到哪个文件上。能不能详细的说说。呵呵。谢谢。淡定的说,美女不错。 :lol: :lol:

    #58
  22. 网上还有一篇文章,是修改了media.PHP文件后自动加上了class,应该可以借鉴,3.1后的wordpress有超链接的描述。你有时间研究下啊。呵呵

    #59

Leave a Reply

B em del U Link Code Quote


Trackbacks and Pingbacks:

Go to comments