今天自己运行昨天做的jQuery粘性跟随滚动条滚动的导航栏的添加for zblog php ,运行了下,在测试的过程中突然发现一个问题,就是在滚动到中间部分(左右)的地方刷新一下之后导航条有时候会消失掉,会造成失效,所以我决定放弃这种方法,找更好的方法,所以在不懈努力下成功实现了,当然也缺不了昨晚的努力而获得的能力。呵呵。下面具体讲述:(由于对于zblog,他分为php版和asp版,所以我分两个版本讲,以metro模板为例)
一、zblogfor php
1.在metro主题模板文件夹找到header.php文件,打来后在
...之间添加如下内容:jQuery(document).ready(function() {
var topmenu = jQuery(".nevbarbg");
var topmenu_top = topmenu.offset().top;
reset_topmenu_top(topmenu, topmenu_top);
jQuery(window).scroll(function() {
reset_topmenu_top(topmenu, topmenu_top);
});
});
function reset_topmenu_top(topmenu, topmenu_top) {
var document_scroll_top = jQuery(document).scrollTop();
if (document_scroll_top > topmenu_top) {
topmenu.css({
'width': '100%',
'position': 'fixed',
'top': '0px'
});
}
if (document_scroll_top <= topmenu_top) {
topmenu.attr('style', {
'top': topmenu_top + 'px'
});
}
}
ps:
1)其中.nevbarbg对应metro要获得效果的导航条代码部分的class=“nevbarbg”代码如下:
{module:navbar}
2)当然其中后面的部分的可以把它放在其他js文件里。(要记得把删除了。)
2.在相应主题(这里是metro)的script文件夹里添加jquery.js。可以在网上下载。
是不是和上一篇的文章差不多难。实际上就是一样的,,,只不过这个效果好点,简单点。
二、zblogfor asp
1.在metro主题模板文件夹中找到header.html文件,打来后在
...之间添加如下内容:jQuery(document).ready(function() {
var topmenu = jQuery(".nevbarbg");
var topmenu_top = topmenu.offset().top;
reset_topmenu_top(topmenu, topmenu_top);
jQuery(window).scroll(function() {
reset_topmenu_top(topmenu, topmenu_top);
});
});
function reset_topmenu_top(topmenu, topmenu_top) {
var document_scroll_top = jQuery(document).scrollTop();
if (document_scroll_top > topmenu_top) {
topmenu.css({
'width': '100%',
'position': 'fixed',
'top': '0px'
});
}
if (document_scroll_top <= topmenu_top) {
topmenu.attr('style', {
'top': topmenu_top + 'px'
});
}
}
ps:
1)其中.nevbarbg对应metro要获得效果的导航条代码部分的class=“nevbarbg”代码如下:
2)当然其中后面的部分的可以把它放在其他js文件里。(要记得把删除了。)(和php一样...)
2.在相应主题(这里是metro)的script文件夹里添加jquery.js。可以在网上下载。(和php一样...)
希望对大家有所帮助。