为博客添加slideshow幻灯片效果

axiu 撰写于 2010/07/20 | 86 条评论

最近一段时间看了许多外国比较出色的博客,除了广告多、流量大、评论少之外,几乎很大一部分都在首页放上了一个幻灯片展示-slideshow。或绚丽或低调,主要目的无疑都是突出显示博客与众不同之处,吸引读者眼球。看了很多实现方法,基本都是插件类型实现的,我不喜欢用插件,感觉比较难搞,而且定义起来麻烦。下面找了介绍两种非插件的实现的方法。

1、A Simple jQuery Slideshow

JquerySlideshow.jpg

演示:demo 下载:Download

之前用过这个方法,主要通过z-index层的替换和opacity透明度的改变来实现渐变的幻灯片切换,缺点是需要加载的Jquery库比较大。

2、TinySlider

tinyslider.jpg

演示:demo. 下载:Download

这是目前在用的方法。独立的script只有1.5k大小,并且不用加载其他东西,很小巧。脚本支持自动旋转和选项自动恢复,可以适用于导航列表的方向切换(垂直或水平)。

下面拿我目前用的做个例子。

css部分

#wrapper {width:97%;overflow:hidden;margin:5px 20px 5px 10px;background:#fff;}
#slider {float:left; position:relative;margin-left:15px;-moz-border-radius:6px 6px; overflow:auto; width:590px; height:200px;}
#slider ul {position:absolute; list-style:none; top:0; left:0}
#slider li {float:left; width:590px; height:200px; padding-right:10px}
 
.pagination {float:left; list-style:none; height:25px; margin:15px 0 0 32px}
.pagination li {float:left; cursor:pointer; padding:2px 7px;height:25px;  color:#222}
.pagination li:hover { color:#000;}
.pagination li.current {background:#555 }
#contents {width:566px; height:170px; padding:15px 28px 15px 18px;line-height:18px;font-size:15px;}
#contents p{padding:0 6px;color:#888;}
#contents p a.more-read{color:#9cf;}
#contents p a.more-read:hover{color:#0ce;}
#contents h2 {font:22px Georgia,Verdana; margin-bottom:11px; color:#fff}

php部分

<div id="wrapper">
 
		<div id="slider">
			<ul>
				<li id="contents">Title 1</li>
				<li>Title 2</li>
				<li>Title 3</li>
				<li>Title 4</li>	
			</ul>
		</div>
 
	<ul id="pagination" class="pagination">
		<li onclick="slideshow.pos(0)">1</li>
		<li onclick="slideshow.pos(1)">2</li>
		<li onclick="slideshow.pos(2)">3</li>
		<li onclick="slideshow.pos(3)">4</li>
	</ul>
</div>
<script type="text/javascript">
var slideshow=new TINY.slider.slide('slideshow',{
	id:'slider', //slideshow div的 ID 
	auto:3,// 自动切换的时间
	resume:true, // 被打断后自动恢复,默认为false
	vertical:false,// 方向,默认为false
	navid:'pagination',// Optional ID ,就是1,2,3,4的选项卡
	activeclass:'current',// 当前的LI
	position:0 // 起始位置,默认为0
});
</script>

当然,最后别忘了在header添加(假设下载的packed.js文件,位置在主题的js文件夹内)

<script type="text/javascript" src="<?php bloginfo('template_directory'); ?>/js/packed.js"></script>

有了以上几步,实现slideshow并不难,有需要就动手试试吧。

评论:86

  1. QQ空间 QQ空间 10/07/21

    QQ免费网提供QQ空间资源下载。

  2. 卢松松 卢松松 10/07/21

    还不错 代码也不是很多 :wink:

  3. 疯子 疯子 10/07/21

    弄成插件最好不过了呀! :?:

    • axiu axiu 10/07/21

      @疯子 这个弄成插件估计也不大,自己折腾吧,乐趣多多呢

  4. 指舞六弦 指舞六弦 10/07/21

    哦也,效果狠好呢,修,问下你帖代码那个貌似用插件实现的么? :mrgreen:

  5. winw winw 10/07/21

    很好,值得动手一试。

  6. 虾 10/07/21

    :eek: 好东西。。迟早有一天,魔法幻术会用科学的形式来实现滴。。

  7. BoKeam BoKeam 10/07/21

    原来这个叫slideshow啊,我的主题也有,不过我注释掉了 :lol:

  8. 7cbt 7cbt 10/07/21

    Fucos 窗口 我一直想自己定义展示 但是也一直做不来 – -

  9. 西门 西门 10/07/22

    前几天朋友给我了一个soChange,国人开发的jQuery插件,还不错。

  10. 草儿 草儿 10/07/22

    貌似很多主题都自带了,这个显示效果还是蛮好的

  11. A.shun A.shun 10/07/22

    这个可以有~
    加上去之后感觉博客内容丰富了 :idea:

  12. zchiy2k zchiy2k 10/07/22

    看着很漂亮。。。
    阿修,把你代码框左上角那个水印弄淡一点吧,感觉有点覆盖代码了。

    • axiu axiu 10/07/23

      @zchiy2k 谢谢,我改了一下~~

    • zchiy2k zchiy2k 10/07/23

      @阿修 我觉得还是以前那个帅,把以前那个PHP几个字透明度降低应该了可以吧?呵呵

    • axiu axiu 10/07/23

      @zchiy2k 对了,这也是个办法~我试试。其实我也挺喜欢php那个,哈哈

    • zchiy2k zchiy2k 10/07/23

      @阿修 现在看着舒服多了,可以再降低点透明度,呵呵

    • axiu axiu 10/07/23

      @zchiy2k 好的,我再调整调整。谢谢提醒啦

  13. knife knife 10/07/23

    广告多、流量大、评论少 :!:

  14. 广告多、流量大、评论少,怎么看出来的?

  15. Lazyyyyyy Lazyyyyyy 10/07/23

    但是觉得用插件的话,插件更新会比较及时和方便,如果用代码的话,可能以后更新起来会比较麻烦?

    • axiu axiu 10/07/24

      @Lazyyyyyy 说反啦。用插件的话更新完就恢复出厂设置了,还需要重新来过。自己写代码的话只要不换主题就不用更新~~

发表评论

电子邮件地址不会被公开。 必填项已用 * 标注

*

:razz:

您可以使用这些 HTML 标签和属性: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre lang="" line="" escaped="" highlight="">