本文实例讲述了JS利用cookie记忆当前位置的防刷新导航效果。分享给大家供大家参考。具体如下:
这里演示利用cookie记忆当前位置的防刷新导航条,主要向大家展示如何在Js中使用Cookies技术,用好了Cookies,会使你的Js技术更上一层楼。这个菜单就感觉不错,当你鼠标点击之后,重新刷新页面后它仍然是保留在原位置,好像带有记忆功能。
运行效果截图如下:
在线演示地址如下:
http://demo.maopiaopiao.com/js/2015/js-cookie-nav-pos-menu-demo/
具体代码如下:
<!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> <meta http-equiv="Content-Type" content="text/html; charset=gb2312" /> <title>cookie记忆-防刷新菜单</title> <style> a{color:#5A73F3;text-decoration:none} body{background:#333;margin:30px;font-size:14px;} #menu li{float:left;height:25px;line-height:25px;list-style:none} #menu li a{padding:10px;} a:hover{background:#ccc;color:##3399FF} a.hover{height:25px;line-height:25px;background:red;color:#ffffff} a,area{blr:e-xpression(this.onFocus=this.blur())} :focus{-moz-outline-style:none;} </style> </head> <body> <div id="menu"> <ul> <li><a href="javascript:void(0)" class="hover" onclick="changename(0)" hidefocus="true">我的菜单</a></li> <li><a href="javascript:void(0)" onclick="changename(1)" hidefocus="true">网页模板</a></li> <li><a href="javascript:void(0)" onclick="changename(2)" hidefocus="true">精品代码</a></li> <li><a href="javascript:void(0)" onclick="changename(3)" hidefocus="true">设计素材</a></li> <li><a href="javascript:clear();" hidefocus="true">恢复初始</a></li> </ul> </div> <script language="javascript"> function changename(c,cl) { var d=document.getElementById("menu").getElementsByTagName("a"); if(!cl) { writeCookie("hovers",c,222); } c=readCookie("hovers")?readCookie("hovers"):c; for(i=0;i<d.length;i++) { d[i].className=i==c?"hover":""; } } function writeCookie(name, value, hours) { var expire = ""; if(hours != null) { expire = new Date((new Date()).getTime() + hours * 3600000); expire = "; expires=" + expire.toGMTString(); } document.cookie = name + "=" + escape(value) + expire; } function readCookie(name) { var cookieValue = ""; var search = name + "="; if(document.cookie.length > 0) { offset = document.cookie.indexOf(search); if (offset != -1) { offset += search.length; end = document.cookie.indexOf(";", offset); if (end == -1) end = document.cookie.length; cookieValue = unescape(document.cookie.substring(offset, end)) } } return cookieValue; } function clear() { writeCookie("hovers","",222); document.location=document.location.href; } changename(0,1) </script> </body> </html>
希望本文所述对大家的JavaScript程序设计有所帮助。