//网上找来的读写coolie的代码
//写cookies函数 作者:翟振凯
function SetCookie(name,value)//两个参数,一个是cookie的名子,一个是值
{
    var Days = 30; //此 cookie 将被保存 30 天
    var exp  = new Date();    //new Date("December 31, 9998");
    exp.setTime(exp.getTime() + Days*24*60*60*1000);
    document.cookie = name + "="+ escape (value) + ";expires=" + exp.toGMTString();
}
function getCookie(name)//取cookies函数        
{
    var arr = document.cookie.match(new RegExp("(^| )"+name+"=([^;]*)(;|$)"));
     if(arr != null) return unescape(arr[2]); return null;}//这个函数改一下
function showLogo(flag) 

    if(flag>logo.lenth) 
        flag = 0; 
    var pic = document.getElementById("logo"); 
    pic.src = logo[flag]; 
    SetCookie("logo",logo[flag])
} window.onload = function()
{
    var url = getCookie("logo");
    if(url==null)
        url = "http://www.sogou.com/image/slogo.gif";//默认图片    var pic = document.getElementById("logo"); 
    pic.src = url;
}

解决方案 »

  1.   

    首先感谢您的回复!
    但是我在程序中用了shadowbox,所以onload函数不能打开shadowbox,改用以下网上的解决办法后,图片却不能更换了!
    function ttt()
    {
        var url = getCookie("logo");
        if(url==null)
            url = "http://www.sogou.com/image/slogo.gif";//默认图片    var pic = document.getElementById("logo"); 
        pic.src = url;
    }
     
     
    function addLoadEvent(func) {
    var oldonload = window.onload;
    if (typeof window.onload != ‘function’) {
    window.onload = func;
    }
    else {
    window.onload = function() {
    oldonload();
    func();
    };
    }
    }addLoadEvent(ttt);能否有办法不用onload方法解决cookie,比如写入数据库能行吗?但是写入数据库需要转换js变量的值为php的变量值,
    尝试了一下,不爽!
    还请您多指点一下!
    万分感谢!
      

  2.   

    即使不用shadowbox,采用其他的弹出层程序,也能更改图片,但是cookie无效!请您看看:
    <html> <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
            <title>LIGHTBOX EXAMPLE</title>
            <style>
            .black_overlay{
                display: none;
                position: absolute;
                top: 0%;
                left: 0%;
                width: 100%;
                height: 100%;
                background-color: black;
                z-index:1001;
                -moz-opacity: 0.8;
                opacity:.80;
                filter: alpha(opacity=80);
            }
            .white_content {
                display: none;
                position: absolute;
                top: 25%;
                left: 25%;
                width: 50%;
                height: 50%;
                padding: 16px;
                border: 16px solid orange;
                background-color: white;
                z-index:1002;
                overflow: auto;
            }
        </style>
    <script type="text/javascript"> 
    var logo = [ 
    "http://www.google.cn/intl/zh-CN/images/logo_cn.gif", 
    "http://www.baidu.com/img/baidu_logo.gif", 
    "http://www.sogou.com/image/slogo.gif" 
    ]; function fun() 

        var op = document.getElementById("op"); 
        if(op.style.display=="none") 
            op.style.display="block"; 
        else 
            op.style.display="none"; 
    } function SetCookie(name,value)//两个参数,一个是cookie的名子,一个是值
    {
        var Days = 30; //此 cookie 将被保存 30 天
        var exp  = new Date();    //new Date("December 31, 9998");
        exp.setTime(exp.getTime() + Days*24*60*60*1000);
        document.cookie = name + "="+ escape (value) + ";expires=" + exp.toGMTString();
    }
    function getCookie(name)//取cookies函数        
    {
        var arr = document.cookie.match(new RegExp("(^| )"+name+"=([^;]*)(;|$)"));
         if(arr != null) return unescape(arr[2]); return null;}//这个函数改一下
    function showLogo(flag) 

        if(flag>logo.lenth) 
            flag = 0; 
        var pic = document.getElementById("logo"); 
        pic.src = logo[flag]; 
        SetCookie("logo",logo[flag])
    } window.onload = function()
    {
        var url = getCookie("logo");
        if(url==null)
            url = "http://www.sogou.com/image/slogo.gif";//默认图片    var pic = document.getElementById("logo"); 
        pic.src = url;
    }
    </script> 
        </head>
        <body>
            <p><a href = "javascript:void(0)" onclick = "document.getElementById('light').style.display='block';document.getElementById('fade').style.display='block'">
    <img src="http://www.sogou.com/image/slogo.gif" id="logo" onclick="fun()" /> </a></p>

            <div id="light" class="white_content">


    This is the lightbox content. <br />
    <div id="op" style="border:red solid 1px; display:none;"> 
        <button onclick="showLogo(0)">google </button> 
        <button onclick="showLogo(1)">baidu </button> 
        <button onclick="showLogo(2)">sogou </button> 
    </div> 
    <br />
    <a href = "javascript:void(0)" onclick = "document.getElementById('light').style.display='none';document.getElementById('fade').style.display='none'">Close</a>
    </div>
            <div id="fade" class="black_overlay"></div>
        </body>
    </html>多谢
      

  3.   

    哦,仔细看了一下,解决了问题!上面的例子没问题,暂时用这个代替shadowbox吧。多谢您varlj!