官方首页 | 无图版 | BBS首页
PJBlog3 3.0.6.170 新版发布 下载|升级(2008.12.25) 庆圣诞+2009元旦+新春-PJ模板征集活动开始啦! 2008版 PJHOME 珍藏/纪念版官方T恤 正式发布! PJ3内测团队主创人员身份,性格,特点吐血大曝光
PJBlog技术支持论坛使用问题总索引 PJBLOG 3 的心路历程 感谢有你 【独家】我使用过的三种空间,与客服的精彩故事 Z-Blog,Wordpress,Bo-Blog转换到PJBlog
腊月的白菜-都辛苦了!祝PJ所有成员和用户的新年快乐! 苦咖啡个人BLOG-祝PJ越来越好 pjblog3资源收集-PJ加油 Feln's Blog-你们辛苦了啊 ~~
听雨轩-继续努力。。期待着PJ4的在线安装插件 cludechn's blog-加油,以后能有更好的版本推出 移动3G-3G改变生活 爱之音-希望PJ3最终版能加入附件批量上传的功能哈
 12 12
发新话题
打印

[原创]顶部导航菜单的Tab效果的改进(日志页也可以显示Tab效果了)

[原创]顶部导航菜单的Tab效果的改进(日志页也可以显示Tab效果了)

首先感谢 bigheadlyf 的这个帖子:

[原创] 清新简洁Web2.0风格 iKK2 for PJBlog2.7(最新修正2007.11.18)
http://bbs.pjhome.net/thread-26432-1-1.html

其中有一个文件是:
common/cache.asp            //实现顶部导航菜单的Tab效果(不影响其他主题使用)

按照bigheadlyf提供的文件覆盖后,切换不同栏目时,导航菜单确实有Tab效果,但是具体到某一篇日志时,导航菜单选中状态却总是在“首页”上,这一点用户体验非常不好。

那个ASP我看得头都大了,于是我自己研究了下,将这个问题用Javascript解决了,因为对Javascript研究不深,所以可能写的有些啰唆,不过逻辑很清晰。

当然了,可能有比这个方法更好的方法,还是请大家慷慨分享交流下。

因为我都是用的静态日志,所以这里提供的是静态日志解决方法,动态日志的话原理和这个类似,估计大家自己稍作改动就可以了。

原理就是,将分类名称作为一个字符串,打开日志后,先将导航上的所有链接的样式清除掉,然后用当前日志的所属分类与那个字符串比较,相等的话,就加上相关样式。

我已经在程序里加上了注释,写的很详细了。

有同样做网页开发相关的朋友,或许可以加个友情链接,常交流一下,共同进步。

打开Template/Article.asp这个文件,在页面最后加上:
引用:
<script type="text/javascript">
//定义分类字符串
var str="<$Cate_Title$>";
//获取导航链接数组
var menulist=document.getElementById("menu").getElementsByTagName("a");
//定义数组长度变量
var n=menulist.length;
//将所有有选中状态的链接样式清除掉
for(var m=0;m<n;m++){
    var cls=menulist[m].className;
    var clsd="menuA menuB";
    if(cls==clsd){
        menulist[m].className="menuA";
        break;
    }
}
//与最开始定义的字符串进行比较,相等的就加上选中样式
for(var i=0;i<n;i++){
    var strspan=menulist.getElementsByTagName("span")[0].innerHTML;
    if(strspan==str){
        //在这里写上你的样式
        menulist.style.background="";
        break;
    }
}
</script>


当你确认修改好了后,重新生成一遍日志就可以了,演示请看:
http://www.cwdn.net/,点击某一篇日志即可看到效果。



[ 本帖最后由 cwdn.net 于 2007-12-11 11:25 编辑 ]
本帖最近评分记录
  • 123liu PJ币 +20 很不错 2008-8-30 18:35
  • 大雄 PJ币 +20 不错,谢谢分享! 2007-12-10 16:20

TOP

摸索下先,看过效果几好

TOP

悠悠!~不错。
btw:楼主的皮肤有没有打算分享呢!~~~

TOP

感谢斑竹加分啊

PJBLOG程序文件我修改了很多地方,一些原来用style的地方都改成class用到CSS文件里了,某些地方加了一些层结构,一些页面也改成两栏结构了,还有就是为了减少http请求,我把css文件合并为一个了,js文件也合并为一个了,样式图片之类的总共只有三个,所以我直接把皮肤发出来用不了

[ 本帖最后由 cwdn.net 于 2007-12-10 17:28 编辑 ]

TOP

很喜欢楼主的皮肤....


My Blog is HaPBoy (DongDong) Blog !

HttP://WwW.HaPBoyBlog.Cn

TOP

哦 这个不错..

TOP

回复 4# 的帖子

好!我也发觉有不同的地方了!我就是为了套你这个防止被扒的方法嘛! 不错嘛~哈哈~

TOP

.coder{group:great-hearted; attitude:hopeful !important;}      

这么CSS代码都显示出来了  

我是火狐

TOP

呵呵,楼上的认为现在的CSS里有group和attitude属性吗?
这句翻译过来就是

.做页面的一类人{所属群组:充满活力的;态度:乐观的  !这一点很重要}

TOP

今天早上突然发现
当时考虑IE和Firefox的兼容问题考虑过头了
其实不用那么麻烦的
刚才又精简了一下
比之前的简单多了

我已经在一楼更新了

TOP

 12 12
发新话题