我有一个单页面样式页面,其中顶部导航链接到同一页面中具有平滑滚动效果的锚点。
问题是在其他内部页面中使用了相同的导航片段,所以我想知道:
如果当前页面不是单页面,我如何创建转到单页面的条件。
这是我到目前为止所做的,也许阅读代码可以更容易理解我想要实现的目标。
<ul id="main_menu">
<li><a href="#start">Start</a></li>
<li><a href="#overview">Overview</a></li>
<li><a href="#gift">Make a Gift</a></li>
<li><a href="#activities">Activities</a></li>
<li><a href="#resources">Resources</a></li>
</ul>
这在我的主页是sample.com/start
中工作正常但是,如果我在使用sample.com/overview,那么当我点击&#34;资源&#34;在主菜单链接上,我应该回到sample.com/start#resources而不是sample.com/overview#resources
有什么想法吗?
答案 0 :(得分:0)
在您的初始页面上按原样使用您的代码,在其他网页上使用start#resources
将#resources
放入您的网址而不是{{1}}。
答案 1 :(得分:0)
<li><a href="
<?php if(!strpos($_SERVER['SCRIPT_NAME'], 'start.php')): ?>
start.php
<?php endif;?>
#start">Start</a>
</li>
<li><a href="
<?php if(!strpos($_SERVER['SCRIPT_NAME'], 'start.php')): ?>
start.php
<?php endif;?>
#overview">Overview</a>
</li>
<!-- etc.. -->
检查当前页面是否为start.php
:如果是,则不执行任何操作;如果不是,请在start.php
之前将href
添加到#anchor
属性。
我已经这样缩进,以便于阅读和理解正在发生的事情,但在实践中,您会想要在href
属性中删除缩进,因为空格会使得%20
s。
相关问题:
If index.php, show "this", if not, show "this"
此外: