更改页面Javascript时保持链接样式

keep link style when changing page Javascript

本文关键字:链接 样式 Javascript      更新时间:2024-05-23

im使用Smarty和php4(cant upgrade=()。在我左边的网站上,我有一个包含所有链接的导航栏。我想要我点击将颜色更改为红色的链接,并保持红色,直到我点击另一个链接。我在谷歌上搜索时已经找到了一些东西,但我无法让它发挥作用——每个人都说它运行得很好:/。。。。。当我点击链接时,脚本会将颜色更改为红色,但在我的url更改后,无法保持红色。

{literal}
<script type="text/javascript">
// first component: non-active link-color
// second component: active link-color
var arrColor = new Array("#404040","#e40624");
var lnkOldID = "";
var lnkOldColor;
// get object-type
IE = document.all&&!window.opera;
DOM = document.getElementById&&!IE;

function activeLink(lnkID){
    // declare object
    myObj = (IE)?document.all[lnkID]:document.getElementById(lnkID);
    // if no link is chosen
    if(lnkOldID == ""){
        lnkOldID = lnkID;  // remember cur. ID 
        lnkOldColor = arrColor[0];  // remember cur. color
        myObj.style.color = arrColor[1];  // change color
    }else{
        // if current link is not active link
        if(lnkOldID != lnkID){
            // declare object
            var myOldObj = (IE)?document.all[lnkOldID]:document.getElementById(lnkOldID);
            myOldObj.style.color = lnkOldColor;    // set color to non-activelink color
            myObj.style.color = arrColor[1];      // setcolor to activelinkcolor 
            lnkOldID = lnkID;      // remember cur. ID 
            lnkOldColor = arrColor[0];  // remember cur. color
        }
    }
}
</script>
{/literal}
<a onClick="activeLink('verteilung_prios')" id="verteilung_prios" href="?n=navigation_pm&a=verteilung_prios">Verteilung Prios</a>
<a onClick="activeLink('histogramm_reaktionszeiten')" id="histogramm_reaktionszeiten" href="?n=navigation_pm&a=histogramm_reaktionszeiten">Histogramm Reaktionszeiten</a>

换个类怎么样?

样品

脚本:

function toggleColor(obj) {
    var redObjs = document.getElementsByClassName('red');
    for ( var i = 0; i < redObjs.length; i++ ) {
        redObjs[i].className = '';
    }
    obj.className = 'red';
}

页面刷新时添加类函数在文档中执行。卸载

function initClass() {
    // get now url
    //var nowUrl = document.location.href;
    // dummy url
    var nowUrl = 'http://fiddle.jshell.net/now/';
    // get elements that have 'navi' class
    var naviObjs = document.getElementsByClassName('navi');
    for ( var i = 0; i < naviObjs.length; i++ ) {
        if ( naviObjs[i].href == nowUrl ) {
            // check url
            //alert(naviObjs[i].className);
            // add 'red' class
            naviObjs[i].className += ' red';
        }
    }
}

css:

a:visited
{
    color: #404040;
}
a.red
{
    color: #e40624;
}