TP框架公用模板的问题

有三个页面都包含下面这个公共模板 就像SF的页面这样 点击哪个就跳转到哪个页面 比如跳转到JAVA页面后 公共模板的JAVA就是被选中状态 那么这个被选中状态是怎么做的呢?如果通过JS是不可能实现的吧 如果在公共模板里面通过JS设置点击哪个就让哪个选中的状态的话 页面一刷新跳转后 JS设置的就无效了 那么这个应该怎么做呢
图片描述

<a href="java.html">JAVA</a>
<a href="PHP.html">PHP</a>
<a href="ios.html">IOS</a>
阅读 3.1k
2 个回答

看页面的url,那里会传递一个变量,java,在php中获取这个值,输出到模板中,然后在js中判断这个变量的值,如果这个变量的值为Java,用js操作dom,
假设php传递的变量名为
$cp= = 'java';

TP将变量传递到模板
$this->assign('cp',$cp);
前台页面js部分
if({$cp} == 'java'){
    document.getElementById('java').className = 'on';
}

使其class=on,事先要在css中写好被选中样式

两种办法。

第一种

给公共模板中的a标签增加一个自定义属性,并且进入页面时更改属性。同时属性绑定到一个css类上,当满足属性条件时就生效对应类

第二种

其实与第一种方法在核心思想上没什么区别,还是给公共模板中的a标签增加一个自定义属性,并且进入页面时更改属性。不过之后进入页面时由js来读取这个状态,并将对应的标签渲染css类。(这不就解决跳转页面后js读状态的问题了么)

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题