关于 js cookie div层的问题 本帖最后由 xiaozhe307 于 2009-09-02 10:58:04 编辑 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 这个不麻烦,用cookie记录两个数据:一个是点击了“视频”或“专辑”后的菜单(li)的 id,另一个是显示方式(span)的id.刷新或打开进入界面后读那两个cookie,没有就默认“视频”、“列表显示”,有就读出来后click一下就OK了。具体你站内搜索一下,我上个月还是7月份(记不清了)回复的chenlongit的一片帖子,和你这个意思差不多 下面是你要的,将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> 很感谢 #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))}也可以研究一下这个 这个例子我很急着用 ,跪求各位好心人帮帮忙,我一定会好好学习,像各位达人高手看齐,你们是我学习的动力,谢谢 好了,看下行不<!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> BeenZ在次感谢真诚相助 但还是不行 你看下效果 http://www.crworld.net/movie/channel/?1.html问题存在于 刷新 和点击 下一页 时候会闪一下第一个层 希望把这个bug改正了应该就行了问:cookie的时间是多久了 我想设为30天 注意要把所有层都设置为 display:none.我看到你忘记改了<div id="detail" style="display: none;">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa</div>设置时间的话我的setCookie方法第三个参数就是时间,30天=30*24*3600;把这个值传递给第三个参数 [code=JScript]说错一点点var date=new Date();var expireDays=30;//将date设置为30天以后的时间date.setTime(date.getTime()+expireDays*24*3600*1000);把这个值设置进去就行了 关于IF选择问题 Extjs组件之间的整合问题。 一个具体的子页面刷新父页面的问题!高手帮帮忙!在线呢! 如何在JS文件中动态加载JS文件 正则表达式 如何获得对象名 请帮我看一下日历控件的这个问题,怎么使日历控件浮于下面文字的上方? 如何获得鼠标在一个图片上点击的方位 html5 audio src 中文路径问题 求大神把点击事件修改成鼠标移入事件,万分感激! div 单击不能触发事件? 帮我看看如何取table中这些的tds
<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>
选择层的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))
}
也可以研究一下这个 这个例子我很急着用 ,跪求各位好心人帮帮忙,我一定会好好学习,像各位达人高手看齐,你们是我学习的动力,谢谢
<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>
注意要把所有层都设置为 display:none.我看到你忘记改了
<div id="detail" style="display: none;">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa</div>设置时间的话我的setCookie方法第三个参数就是时间,30天=30*24*3600;把这个值传递给第三个参数
说错一点点
var date=new Date();
var expireDays=30;
//将date设置为30天以后的时间
date.setTime(date.getTime()+expireDays*24*3600*1000);
把这个值设置进去就行了