当前位置: 首页 > 图文教程 > 网络编程 > Javascript > WordPress 照片lightbox效果的运用几点

Javascript
JQuery 获取和设置Select选项的代码
jQuery ctrl+Enter shift+Enter实现代码
jQuery学习2 选择器的使用说明
jQuery学习3:操作元素属性和特性
jQuery学习4 浏览器的事件模型
jQuery学习5 jQuery事件模型
jQuery 学习6 操纵元素显示效果的函数
jQuery学习7 操作JavaScript对象和集合的函数
jQuery库与其他JS库冲突的解决办法
JavaScript Event事件学习第一章 Event介绍
JavaScript Event学习第二章 Event浏览器兼容性
JavaScript Event学习第三章 早期的事件处理程序
JavaScript Event学习第四章 传统的事件注册模型
JavaScript Event学习第五章 高级事件注册模型
JavaScript Event学习第六章 事件的访问
JavaScript Event学习第七章 事件属性
JavaScript Event学习第八章 事件的顺序
js png图片(有含有透明)在IE6中为什么不透明了
JavaScript 读取元素的CSS信息的代码
基于mootools的圆角边框扩展代码

Javascript 中的 WordPress 照片lightbox效果的运用几点


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-12   浏览: 278 ::
收藏到网摘: n/a

应该大家都知晓lightbox这类灯箱效果了,它一般更多地被运用在网站照片的显示上。当然还有更推广的应用,如facebox这种更漂亮全面的效果。 如果你的网站上已经使用了lightbox这类效果,或者下面的几点运用经验你也会觉合适(前提是使用JQuery实现)。
1. 指定哪些条件下运用Lightbox效果
在网站的js文件中添加如下语句:
复制代码 代码如下:

$(function() {
$('a[@rel*=lightbox]').lightBox();
$('.gallery a').lightBox();
});

这样就决定只有在链接中添加“rel=lightbox”后,该链接才会出现lightbox效果;第二行中的'.gallery a'则是针对WordPress中原生相册,添加该句后,相册中的图片也会出现lightbox的效果了。
2. 自动添加rel=lightbox属性
因为在上述定义中只有带“rel=lightbox”的链接才会有效果,一般我们是需要对每个上传图片都手动添加“rel=lightbox”这一句。但这样显得麻烦,我们可以让它自动针对带链接的图片自动添加。
首先为每一个带图片的p段落自动添加一个样式:
$("#content p:has(img)").addClass("imgbg");
比如上面一句就是指定在#content这个区域内,只要段落中带有img的话,则添加样式“imgbg”,使其原无样式的p段落变为<p class="imgbg">的带样式了;
然后对<p class="imgbg">这一段中的链接自动添加“rel=lightbox”属性:
复制代码 代码如下:

$(".imgbg a").attr({
rel: "lightbox"
});

经过上面两部步,所有在文中带链接的图片就会自动执行lightbox的效果了。
3. 选择性地加载lightbox
我们没有必要全站加载lightbox的效果。一般来说我们是在单独的文章页面中才用到这种效果。所以我们可以把lightbox的js代码单独出来,然后在WordPress中header.php中这样设置:
复制代码 代码如下:

<?php if ( is_single() ) : ?>
<script type="text/javascript" src="<?php bloginfo('template_url'); ?>/js/lightbox.js"></script>
<?php endif ?>

更进一步,如果你想对只有照片的文章才执行该效果,则你可以准确地只为标有“照片”标签的文章才加载lightbox,设置改为:
复制代码 代码如下:

<?php if ( is_single() && has_tag('照片') ) : ?>
<script type="text/javascript" src="<?php bloginfo('template_url'); ?>/js/lightbox.js.php"></script>
<?php endif ?>

上面几点就是我对lightbox的运用了,希望对各位有所帮助啦。