前言
这个功能最开始叫底部滚动公告条,部分Wordpress主题集成自带,比如知更鸟主题。主题没集成的还可以使用万戈牌公告栏插件来实现这个功能。不过以往插件或主题集成的公告栏功能都只会滚动公告,即后台会有一个公告撰写栏,可以编辑数条公告然后在前台底部滚动显示。
后来在我折腾中国博客联盟展示导航的时候,发现原来要实现滚动其他内容也是非常简单的! 因此,我就将鸟哥主题的公告栏代码修改了一下,实现了目前博客的公告栏效果:随机滚动数篇历史文章,并显示评论和浏览数目,用了几天了,感觉还不错!就来分享一下,也许会有朋友喜欢!
实现方法
PHP代码
<div id="gg">
<div class="wp_close"><a href="javascript:void(0)" onclick="$('#gg').slideUp('slow');" title="关闭">×</a>
<div id="feedb">
<a href="/feed" rel="nofollow" target="_blank" title="欢迎订阅我的博客" class="image">
<img alt="订阅图标按钮" src="https://ae01.alicdn.com/kf/Hd9a7453d3adb46b085055353358c91ecs.gif" style="width:23px;height:23px;" />
</a>
<a title="亲,点我放松一下吧~!(单击启动,双击或ESC停止)" id="hig" href="javascript:void(0);" onclick="hig();" ondblclick="stopCrazy();">
亲,点我放松一下吧~!(单击启动,双击或ESC停止)
</a>
</div>
<div class="bulletin">
<ul>
<?php wp_reset_query();query_posts( array ( 'orderby' => 'rand', 'showposts' => 5, 'ignore_sticky_posts' => 10 ) ); while ( have_posts() ) : the_post();?><li><a href="<?php the_permalink(); ?>" target="_blank" title="细看 <?php the_title(); ?>"><?php echo '随机推荐:《';the_title();echo '》';if(function_exists('the_views')) {print '( 阅读';the_views();print '次 |</a>';}comments_popup_link('坐等沙发','1条评论','%条评论'); ?>)</li><?php endwhile; ?>
</ul>
</div>
</div>
</div>
<script type="text/javascript" src="https://www.zsxcool.com/wp-content/themes/niRvana/assets/minify/gg.js" ></script>
将以上代码中的QQ邮箱订阅链接地址修改成你自己博客的订阅地址,然后粘贴到WordPress主题目录的footer.php的</body>之前保存即可。
js代码
做完第一步,现在需要部署相关js和css了。
function turnoff(obj) {
document.getElementById(obj).style.display = "none";
}
// 文字滚动
(function($) {
$.fn.extend({
Scroll: function(opt, callback) {
if (!opt) var opt = {};
var _this = this.eq(0).find("ul:first");
var lineH = _this.find("li:first").height(),
line = opt.line ? parseInt(opt.line, 10) : parseInt(this.height() / lineH, 10),
speed = opt.speed ? parseInt(opt.speed, 10) : 7000, //卷动速度,数值越大,速度越慢(毫秒)
timer = opt.timer ? parseInt(opt.timer, 10) : 7000; //滚动的时间间隔(毫秒)
if (line == 0) line = 1;
var upHeight = 0 - line * lineH;
scrollUp = function() {
_this.animate({
marginTop: upHeight
}, speed, function() {
for (i = 1; i <= line; i++) {
_this.find("li:first").appendTo(_this);
}
_this.css({
marginTop: 0
});
});
}
_this.hover(function() {
clearInterval(timerID);
}, function() {
timerID = setInterval("scrollUp()", timer);
}).mouseout();
}
})
})(jQuery);
$(document).ready(function() {
$(".bulletin").Scroll({
line: 1,
speed: 1000,
timer: 5000
}); //修改此数字调整滚动时间
});
将以上代码保存为gg.js,然后上传到WordPress主题目录。
CSS代码
#gg{position:fixed;bottom:0;background:#000;width:100%;height:23px;line-height:23px;z-index:9999;opacity:.60;filter:alpha(opacity=60);_bottom:auto;_width:100%;_position:absolute;_top:expression(eval(document.documentElement.scrollTop+document.documentElement.clientHeight-this.offsetHeight-(parseInt(this.currentStyle.marginTop,10)||0)-(parseInt(this.currentStyle.marginBottom,10)||0)));-webkit-box-shadow:10px 0 5px #000;-moz-box-shadow:10px 0 5px #000;box-shadow:10px 0 5px #000}
#gg a{color:#fff;letter-spacing:2px;text-shadow:0px 1px 0px #000}
.wp_close a{float:right;margin:0 10px 0 0}
.bulletin{height:23px;color:#fff;margin:0 0 0 20px;background:url('https://ae01.alicdn.com/kf/Hf7170dadfa014d0f8b1948b54d2dc7deu.gif') no-repeat;min-height:23px;overflow:hidden}
.bulletin a{float:left}
#gg .bulletin li{height:23px;padding-left:25px;list-style:none}
将以上CSS代码添加到主题的style.css当中。
可选调整
①、本文分享的滚动条默认是随机显示5篇文章,如果你想修改这个数目,只要将第一步PHP代码中的 ‘posts_per_page’ => 5 修改成你要的数值即可;
②、滚动速度可以修改第二步分享的JS代码来调整,里面都有详细注释,我就不赘述了。
③、如果发现底部的滚动条无法滚动,那可能是Jquery冲突了。
必须 注册 为本站用户, 登录 后才可以发表评论!