最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 科技 - 知识百科 - 正文

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

来源:动视网 责编:小采 时间:2020-11-27 20:44:17
文档

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

JS参数传递的实际应用代码分析_javascript技巧:原因很简单,在DOM中没有id为msg_box的div标签,该怎么解决这个问题呢?方案: 在所有页面公用的头部文件header.tpl.html中写入: 代码如下: function changMenu(index){ if(typeof getElementById(msg_box) == obje
推荐度:
导读JS参数传递的实际应用代码分析_javascript技巧:原因很简单,在DOM中没有id为msg_box的div标签,该怎么解决这个问题呢?方案: 在所有页面公用的头部文件header.tpl.html中写入: 代码如下: function changMenu(index){ if(typeof getElementById(msg_box) == obje


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

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


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

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


第二步:
改进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中写入:
代码如下:

function changMenu(){
index = getCookie("index");
if(index == null) index = 1;
if(typeof getElementById("msg_box") == "object"){
//如果存在msg_box对象 则刷新该页的对象
showMenu(index);
}else{
setCookie("index", index);
//如果不存在 则重定向到使用Ajax刷新的页面
window.location = "/index.html";
}
}
function setCookie(name, value){  
 var Then = new Date()  
 Then.setTime(Then.getTime() + 1*3600000 ) //小时  
 document.cookie = name+"="+value+";expires="+Then.toGMTString();  
}
function getCookie(name)
{
var arr = document.cookie.match(new RegExp("(^| )"+name+"=([^;]*)(;|$)"));
if(arr != null) return unescape(arr[2]); return null;
}
 

文档

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

JS参数传递的实际应用代码分析_javascript技巧:原因很简单,在DOM中没有id为msg_box的div标签,该怎么解决这个问题呢?方案: 在所有页面公用的头部文件header.tpl.html中写入: 代码如下: function changMenu(index){ if(typeof getElementById(msg_box) == obje
推荐度:
标签: 技巧 js 代码
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top