本帖最后由 xiaozhe307 于 2009-09-02 10:58:04 编辑

解决方案 »

  1.   

    这个不麻烦,用cookie记录两个数据:一个是点击了“视频”或“专辑”后的菜单(li)的 id,另一个是显示方式(span)的id.刷新或打开进入界面后读那两个cookie,没有就默认“视频”、“列表显示”,有就读出来后click一下就OK了。具体你站内搜索一下,我上个月还是7月份(记不清了)回复的chenlongit的一片帖子,和你这个意思差不多
      

  2.   

    下面是你要的,将window.onload方法改成下一页的方法就行了<!DOCTYPE HTML PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml"><head>
    <title>酷6网-视频搜索</title>
    <link href="http://img.ku6.com/search/css/200908250957/style-min.css" rel="stylesheet" type="text/css"><script type="text/javascript">
    function setCookie(name, value, expires, path, domain, secure) {
            var curCookie = name + "=" + escape(value) +
                    ((expires) ? "; expires=" + expires.toGMTString() : "") +
                    ((path) ? "; path=" + path : "") +
                    ((domain) ? "; domain=" + domain : "") +
                    ((secure) ? "; secure" : "")
            if ( (name + "=" + escape(value)).length <= 4000)
                    document.cookie = curCookie
            else
                    if (confirm("Cookie exceeds 4KB and will be cut!"))
                            document.cookie = curCookie
    }
    function getCookie(name) {
            var prefix = name + "="
            var cookieStartIndex = document.cookie.indexOf(prefix)
            if (cookieStartIndex == -1)
                    return null
            var cookieEndIndex = document.cookie.indexOf(";", cookieStartIndex + prefix.length)
            if (cookieEndIndex == -1)
                    cookieEndIndex = document.cookie.length
            return unescape(document.cookie.substring(cookieStartIndex + prefix.length, cookieEndIndex))
    }
    function $(a)
    {
      return a?(typeof(a)=="string"?document.getElementById(a):a):null
    }
    var currType="detail";
    function view(a)
    {
      if(a==currType)
      {
        return
      }
      currType=a;
      if(a=="detail")
      {
        $("spandetail").className="g_s2";
        $("spanimg").className="s1";
        $("spanlist").className="s1";
        $("detail").style.display="";
        $("img").style.display="none"
        $("list").style.display="none"
      }
      else if(a=="img")
      {
        $("spanimg").className="g_s1";
        $("spandetail").className="s2";
        $("spanlist").className="s1";
        $("img").style.display="";
        $("detail").style.display="none"
        $("list").style.display="none"
        
      }
      else
      {
        $("spanlist").className="g_s2";
        $("spanimg").className="s1";
        $("spandetail").className="s2";
        $("list").style.display="";
        $("img").style.display="none";
        $("detail").style.display="none"
      }
      setCookie("type", a);
    }
    window.onload=function(){
    var type = getCookie("type");
    view(type)
    }
    </script>
    </head>
    <body>
    <div class="ssuo_left" style="margin-left:50px;">
        <div class="ssjg_list">
            <div class="somenu">
                <div class="layout">
               <span title="列表方式查看" onclick="view('list')" class="s2" id="spanlist"></span> 
    <span title="缩略图方式查看" onclick="view('img')" class="s1" id="spanimg"></span> 
    <span title="详细信息方式查看" onclick="view('detail')" class="g_s2" id="spandetail"></span>
                显示方式:
                </div>
                <ul class="somenu_text clearfix">
                    <li class="sel">视 频</li>
                </ul>
            </div>
            <div style="" id="detail">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa</div>
            <div id="img" style="display: none;">bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
            <div id="list" style="display: none;">cccccccccccccccccccccccccccccccccc</div>
        </div>
    </div>
    </body>
    </html>
      

  3.   

    很感谢 #7楼 BeenZ 的精彩回答,但还是存在一点问题:
    选择层的cookie虽是保存了,但当点击 刷新 和 下一页的时候 层先是加载一下第一个层然后在跳到cookie记录的那个层上面 这个未必太不好了(运行代码本地查看效果)另:“将window.onload方法改成下一页的方法就行了”不太懂,需要改什么嘛,不会,请见谅!下面是酷6的 js达人可以帮看下 给个答案出来function readCookie(a)
    {
      var c="";
      var b=a+"=";
      if(document.cookie.length>0)
      {
        offset=document.cookie.indexOf(b);
        if(offset!=-1)
        {
          offset+=b.length;
          end=document.cookie.indexOf(";",offset);
          if(end==-1)
          {
            end=document.cookie.length
          }
          c=unescape(document.cookie.substring(offset,end))
        }
      }
      return c
    }
    function setCookie(b,c,a,e,d)
    {
      document.cookie=b+"="+c+((a)?"; expires="+a:"")+";domain=ku6.com; path=/"+((d)?"; secure":"")
    }
    function getExpDate(d,a,c)
    {
      var b=new Date();
      if(typeof d=="number"&&typeof a=="number"&&typeof a=="number")
      {
        b.setDate(b.getDate()+parseInt(d));
        b.setHours(b.getHours()+parseInt(a));
        b.setMinutes(b.getMinutes()+parseInt(c));
        return b.toGMTString()
      }
    }
    var currType="detail";
    function view(a)
    {
      if(a==currType)
      {
        return
      }
      currType=a;
      if(a=="detail")
      {
        $("spandetail").className="g_s2";
        $("spanimg").className="s1";
        $("detail").style.display="";
        $("img").style.display="none"
      }
      else
      {
        $("spanimg").className="g_s1";
        $("spandetail").className="s2";
        $("img").style.display="";
        $("detail").style.display="none"
      }
      setCookie("soViewType",currType,getExpDate(30,0,0))
    }
    也可以研究一下这个 这个例子我很急着用 ,跪求各位好心人帮帮忙,我一定会好好学习,像各位达人高手看齐,你们是我学习的动力,谢谢
      

  4.   

    好了,看下行不<!DOCTYPE HTML PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml"><head>
    <title>酷6网-视频搜索</title>
    <link href="http://img.ku6.com/search/css/200908250957/style-min.css" rel="stylesheet" type="text/css"><script type="text/javascript">
    function setCookie(name, value, expires, path, domain, secure) {
            var curCookie = name + "=" + escape(value) +
                    ((expires) ? "; expires=" + expires.toGMTString() : "") +
                    ((path) ? "; path=" + path : "") +
                    ((domain) ? "; domain=" + domain : "") +
                    ((secure) ? "; secure" : "")
            if ( (name + "=" + escape(value)).length <= 4000)
                    document.cookie = curCookie
            else
                    if (confirm("Cookie exceeds 4KB and will be cut!"))
                            document.cookie = curCookie
    }
    function getCookie(name) {
            var prefix = name + "="
            var cookieStartIndex = document.cookie.indexOf(prefix)
            if (cookieStartIndex == -1)
                    return null
            var cookieEndIndex = document.cookie.indexOf(";", cookieStartIndex + prefix.length)
            if (cookieEndIndex == -1)
                    cookieEndIndex = document.cookie.length
            return unescape(document.cookie.substring(cookieStartIndex + prefix.length, cookieEndIndex))
    }
    function $(a)
    {
      return a?(typeof(a)=="string"?document.getElementById(a):a):null
    }
    var currType="detail";
    function view(a)
    {
      if(a==currType)
      {
        return
      }
      currType=a;
      if(a=="detail")
      {
        $("spandetail").className="g_s2";
        $("spanimg").className="s1";
        $("spanlist").className="s1";
        $("detail").style.display="";
        $("img").style.display="none"
        $("list").style.display="none"
      }
      else if(a=="img")
      {
        $("spanimg").className="g_s1";
        $("spandetail").className="s2";
        $("spanlist").className="s1";
        $("img").style.display="";
        $("detail").style.display="none"
        $("list").style.display="none"
        
      }
      else
      {
        $("spanlist").className="g_s2";
        $("spanimg").className="s1";
        $("spandetail").className="s2";
        $("list").style.display="";
        $("img").style.display="none";
        $("detail").style.display="none"
      }
      setCookie("type", a);
    }
    window.onload=function(){
    var type = getCookie("type");
    if(!type) view(type);
    else view("detail")
    }
    </script>
    </head>
    <body>
    <div class="ssuo_left" style="margin-left:50px;">
        <div class="ssjg_list">
            <div class="somenu">
                <div class="layout">
               <span title="列表方式查看" onclick="view('list')" class="s2" id="spanlist"></span> 
    <span title="缩略图方式查看" onclick="view('img')" class="s1" id="spanimg"></span> 
    <span title="详细信息方式查看" onclick="view('detail')" class="g_s2" id="spandetail"></span>
                显示方式:
                </div>
                <ul class="somenu_text clearfix">
                    <li class="sel">视 频</li>
                </ul>
            </div>
            <div  id="detail"  style="display: none;">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa</div>
            <div id="img" style="display: none;">bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
            <div id="list" style="display: none;">cccccccccccccccccccccccccccccccccc</div>
        </div>
    </div>
    </body>
    </html>
      

  5.   

    BeenZ在次感谢真诚相助 但还是不行 你看下效果 http://www.crworld.net/movie/channel/?1.html问题存在于 刷新 和点击 下一页 时候会闪一下第一个层 希望把这个bug改正了应该就行了问:cookie的时间是多久了 我想设为30天 
      

  6.   


    注意要把所有层都设置为 display:none.我看到你忘记改了
    <div  id="detail"  style="display: none;">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa</div>设置时间的话我的setCookie方法第三个参数就是时间,30天=30*24*3600;把这个值传递给第三个参数
      

  7.   

    [code=JScript]
    说错一点点
    var date=new Date();
    var expireDays=30;
    //将date设置为30天以后的时间
    date.setTime(date.getTime()+expireDays*24*3600*1000);
    把这个值设置进去就行了