使用if语句激活锚位置的样式
Activate style with if statements for anchor position
我是一个初学者,已经彻底搜索了,没有找到这个问题的解决方案。
我写了一段代码,当你点击链接时,css样式会发生变化,比如下面的代码:
function spHome(){
document.getElementById("btnHome2").style.background = "url(../images/btn_navHoverArrow.png) no-repeat center bottom";
document.getElementById("btnAccount").style.background = "0";
}
function spAccount(){
document.getElementById("btnHome2").style.background = "0";
document.getElementById("btnAccount").style.background = "url(../images/btn_navHoverArrow.png) no-repeat center bottom";
}
这个代码运行得非常好。对我来说,问题是当我刷新页面时,单击状态不再处于活动状态。是否有一个代码可以允许该功能仅在用户位于页面的某个锚点时保持活动状态。例如,如果我们有一个名为index.html#home的锚点位置,则主页按钮将处于活动状态,并且当单击index.html#account时,即使在页面刷新后,帐户按钮也将保持单击状态。
下面的例子似乎在jsfiddle上不起作用,但在所有浏览器上都可以:http://jsfiddle.net/JoshuaWaheed/HZLVt/3/
有办法做到这一点吗?
添加href散列并返回false onclick以避免页面重新加载
<a href="#home" onclick="spHome();return false" id="btnHome2" title="Home"></a>
您需要在页面加载时执行js,检查url的哈希,并将按钮的状态与哈希相对应。
使用jQuery,它将类似于(未测试):
$(function() {
if (document.location.hash == "#home")
spHome()
else
if (document.location.hash == "#account")
spAccount()
})
如果您不想使用jQuery,您可以将该代码放在docent事件"加载"
相关文章:
- jQuery位置选择器输入样式背景和焦点
- GWT:如何从当前光标位置或所选文本中获取css样式的属性
- 后台位置的计算样式在Chrome中返回0%0%
- 使用CSS样式表更改在Javascript中添加的图像的位置
- 内联 JavaScript 从被 CSS 样式覆盖的负位置过渡
- 根据数据库值进行 AngularJS 样式位置
- “样式”代码在 MVC 模式中的位置
- 基于其位置的可拖动 DIV 样式
- 获取当前光标位置周围的单词样式
- 通过 jquery 将样式属性设置为“位置:无”
- 铬中的 CKEDITOR 在光标位置添加“?”标记,同时应用任何样式(粗体/斜体)而不选择
- 根据图像位置目录附加 CSS 样式
- 将数组传递给具有地理位置和样式的 Openlayers 3
- 根据页面上的滚动位置进行多种样式更改
- 为什么这种CSS样式会干扰HTML5的拖放?(位置:绝对;左:-10000px)
- 如何找到在Chrome开发工具中添加样式属性的位置
- 当位置样式为绝对时,滚动上的文本框定位问题
- 使用if语句激活锚位置的样式
- Javascript将position属性更改为固定位置属性的每个样式的静态
- 更改绝对样式元素的位置