Rumah > hujung hadapan web > tutorial js > JS 参数传递的实际应用代码分析_javascript技巧

JS 参数传递的实际应用代码分析_javascript技巧

WBOY
Lepaskan: 2016-05-16 18:46:45
asal
873 orang telah melayarinya

原因很简单,在DOM中没有id为msg_box的div标签,该怎么解决这个问题呢?
方案:
在所有页面公用的头部文件header.tpl.html中写入:

复制代码 代码如下:

<script> <BR>function changMenu(index){ <BR>if(typeof getElementById("msg_box") == "object"){ <BR>//如果存在msg_box对象 则刷新该页的对象 <BR>showMenu(index); <BR>}else{ <BR>//如果不存在 则重定向到使用Ajax刷新的页面 <BR>window.location = "/index.html"; <BR>} <BR>} <BR></script>

但是该项目index.html存在四个相同性质的页面,都需要Ajax来刷新,这样就存在一个问题,当用户点击第三个栏目时,虽然可以回到index.html,但是无法刷新内容到第三个栏目。这时有两种解决方案:
方案1:
第一步:
在所有页面公用的头部文件header.tpl.html中写入:
复制代码 代码如下:

<script> <BR>function changMenu(index){ <BR>if(typeof getElementById("msg_box") == "object"){ <BR>//如果存在msg_box对象 则刷新该页的对象 <BR>showMenu(index); <BR>}else{ <BR>//如果不存在 则重定向到使用Ajax刷新的页面 <BR>window.location = "/index.html?type="+index; <BR>} <BR>} <BR></script>

第二步:
改进showMenu函数
复制代码 代码如下:

function showMenu(index){
if(typeof getElementById("msg_box") == "object"){
//如果存在msg_box对象 则刷新该页的对象
......
}else{
url = window.location.href;
reg = /^(.*)\/index\.html\?type\=\d$/gi;
if(reg.test(url)){
//如果符合传参数页面的url。则获取该参数
index = url.substr(url.length - 1);
......
}
}
}

方案2:
调用JS的cookie功能传递参数
在所有页面公用的头部文件header.tpl.html中写入:
复制代码 代码如下:

<script> <BR>function changMenu(){ <BR>index = getCookie("index"); <BR>if(index == null) index = 1; <BR>if(typeof getElementById("msg_box") == "object"){ <BR>//如果存在msg_box对象 则刷新该页的对象 <BR>showMenu(index); <BR>}else{ <BR>setCookie("index", index); <BR>//如果不存在 则重定向到使用Ajax刷新的页面 <BR>window.location = "/index.html"; <BR>} <BR>} <BR>function setCookie(name, value){   <BR> var Then = new Date()   <BR> Then.setTime(Then.getTime() + 1*3600000 ) //小时   <BR> document.cookie = name+"="+value+";expires="+Then.toGMTString();   <BR>} <BR>function getCookie(name) <BR>{ <BR>var arr = document.cookie.match(new RegExp("(^| )"+name+"=([^;]*)(;|$)")); <BR>if(arr != null) return unescape(arr[2]); return null; <BR>} <BR>  <BR></script>
Label berkaitan:
sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan