使用JavaScript更改边框颜色并从Javascript保存Cookie

时间:2012-04-24 19:40:23

标签: javascript cookies border

我使用一些JavaScript来改变HTML中某些div的颜色,并且有两个问题。 第一个是我有一个CSS三角形,我需要更改click事件的边框颜色,但不能使用下一个代码:

document.getElementById('triangle').style.borderLeft = color;

有人有任何想法吗?

下一个问题是下一个问题:一旦颜色发生变化,我想将其保存为cookie并在访问者下次访问时加载它。 这是我目前的JavaScript:

function change(color)
{
    document.getElementById('tinybox1').style.backgroundColor = color;
    document.getElementById('tinybox2').style.backgroundColor = color;
    document.getElementById('tinybox3').style.backgroundColor = color;
    document.getElementById('tinybox4').style.backgroundColor = color;
    document.getElementById('text').style.backgroundColor = color;
    document.getElementById('pinnable').style.backgroundColor = color;
    // document.getElementById('triangle').style.borderLeft = color;
}

我希望有人可以帮助我!

3 个答案:

答案 0 :(得分:1)

对于第一个问题,请使用@VisioN这样的答案:

var color = "#000";
document.getElementById('triangle').style.borderLeft = "1px solid " + color;

关于cookie的第二个尝试这个(假设你想使用简单的javascript)将其保存为 cookie.js 并将其导入你的html:

function createCookie(name,value,days) {
    var expires = "";
    if (days) {
        var date = new Date( );
        date.setTime(date.getTime() + (days*24*60*60*1000));
        expires = "; expires=" + date.toGMTString();
    }
    else expires = "";
    document.cookie = name + "=" + value + expires + "; path=/";
}

function readCookie(name) 
{
    var nameEQ = name + "=";
    var ca = document.cookie.split(';');
    for( var i=0;i < ca.length;i++) 
    {
        var c = ca[i];
        while (c.charAt( 0)==' ') c = c.substring(1, c.length);
        if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length, c.length);
    }
    return null;
}

function eraseCookie( name) 
{
    createCookie(name,"",-1);
}

现在,要创建cookie,请执行以下操作:

createCookie('cookiename', 'cookievalue', false);

要评估Cookie,请执行以下操作:

 var cookie = readCookie('cookiename');

 // var cookie will be null if there is no cookie to read.
 if(cookie == 'cookievalue'){
   //do something
 }

希望这有帮助。

答案 1 :(得分:1)

要更改 边框颜色而不必同时指定尺寸和类型,请使用:

element.style.borderLeftColor = "#000";

答案 2 :(得分:0)

对于第一个问题到目前为止,可以这样做:

var color = "#000";
document.getElementById('triangle').style.borderLeft = "1px solid " + color;

或与某些风格相结合。

<强> CSS:

#triangle {
    ...
    border-left-width: 1px;
    border-style: solid;
}​

<强> JS:

var color = "#000";
document.getElementById('triangle').style.borderLeftColor = color;