首页 新闻 论坛 群组 Blog 文档 下载 读书 Tag 网摘 搜索 .NET Java 游戏 视频 人才 外包 培训 数据库 书店 程序员
中国软件网
欢迎您:游客 | 登录 注册 帮助
  • 求JS的TAB代码 [已结贴,结贴人:trlsmax]
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-07-21 10:58:12 楼主
    你好,我现在在做一个PHP系统的模板,但TAB转换这里不知道怎么做,请各位指教一下

    情况是这样的,这个系统所有页面都调用同一个外部模板,TAB的代码都在这个外部模板里,整个页面的 <body> </body>也在外部模板里
    然后,系统的不同页面调用不同的内部模板,我现在是想不同页面是对应的TAB被选中,显示不同颜色

    TAB的代码如下:
    HTML code
    <ul> <li class="selected"><a href="index.php">home</a></li> <li><a href="article.php">article</a></li> </ul>


    class="selected"为选中的样式
    但因为没有学习过JS,不知道怎么写,GOOGLE了一下,找不到类似的教程,其他都是说在同一个页面的TAB,不同页面的没有找到
    请知道的大哥帮个忙,先谢谢了
    50  修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-07-22 10:51:591楼 得分:0
    不同页面的确实没有啊,不过你可以读出这个页面的代码,替换即可
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • cgisir
    • 等级:
    发表于:2008-07-22 11:19:352楼 得分:50
    这样试试
    HTML code
    <ul id="tab"> <li><a href="index.php">home</a></li> <li><a href="article.php">article</a></li> <li><a href="news.php">news</a></li> </ul> <script> var keyword = 'article'; // 这里是程序传的关键词变量, PHP可以这么传 var keyword=<?=$keyword?> var lis = document.getElementById('tab').getElementsByTagName('li'); switch(keyword){ case 'article': lis[1].className = 'selected'; break; case 'news': lis[2].className = 'selected'; break; default: lis[0].className = 'selected'; // 默认为home } </script>
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-07-22 15:04:053楼 得分:0
    非常感谢LS这个大哥
    谢谢了

    我后来发现改PHP比较难,然后把JS部分全部放倒内部模板的HTML上,比较笨,每个内部模板赋不同的值,也可以达到我要的效果
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-07-22 15:06:564楼 得分:0
    不一定要用css,用gif做背景图片也可以
    选中的是一张,未选中的又是一张
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-07-22 15:09:565楼 得分:0
    最后,因为每个内部模板都放一段JS,所以简化成这样了。
    如新闻页:
    HTML code
    <script> var lis = document.getElementById('tab').getElementsByTagName('li'); lis[2].className = 'selected'; </script>
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-07-22 15:12:236楼 得分:0
    引用 4 楼 avon520 的回复:
    不一定要用css,用gif做背景图片也可以
    选中的是一张,未选中的又是一张



    因为我希望模板尽量的简洁,所以尽量少用图片,所以一直考虑的是CSS
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • cgisir
    • 等级:
    发表于:2008-07-22 17:16:417楼 得分:0
    不是很多页都用一个模板么? JS放到那个模板页就行, 干嘛放这么多?
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-07-24 13:32:548楼 得分:0
    因为都放到外部模板,我不知道如何传参数过来
    上面的那些index.php等都是举例而,实际上我用的那个PHP程序都用的伪静态页面输出
    还没有看懂代码,所以只能用笨的办法了
    修改 删除 举报 引用 回复

    网站简介广告服务网站地图帮助联系方式诚聘英才English 问题报告
    北京创新乐知广告有限公司 版权所有 京 ICP 证 070598 号
    世纪乐知(北京)网络技术有限公司 提供技术支持
    Copyright © 2000-2008, CSDN.NET, All Rights Reserved