代码改变世界

window.location.hash 页面跳转,精确定位,实例展示:

  流浪的诗人  阅读(4045)  评论(0编辑  收藏  举报

window.location.hash 页面跳转,精确定位,实例展示:
(1)、index.phtml,页面用于传参

<script id="bb_list_template" type="text/x-dot-template">
<a title="点击查看宝贝详情" href="<?php echo APP_WEB_INDEX_ROOT?>/item/itemdetail<?php echo HTML_TYPE;?>?qntag=1#iid=<%=it.num_iid%>&&state=<%=it.status%>&&page=<%=it.page%>" id="title_<%=it.num_iid%>">
<%=it.title%>
</a>
</script>


(2)、index.js,用于获取参数
/**
*window.location.hash 定义和用法
*location是javascript里边管理地址栏的内置对象.
*比如location.href就管理页面的url,用location.href=url就可以直接将页面重定向url。
*而location.hash则可以用来获取或设置页面的标签值。比如http://domain/#admin的location.hash="#admin"。
*
*substr 定义和用法
*substr() 方法可在字符串中抽取从 start 下标开始的指定数目的字符。
*语法 stringObject.substr(start,length)
*start 必需。要抽取的子串的起始下标。必须是数值。如果是负数,那么该参数声明从字符串的尾部开始算起的位置。
*也就是说,-1 指字符串中最后一个字符,-2 指倒数第二个字符,以此类推。
*length 可选。子串中的字符数。必须是数值。如果省略了该参数,那么返回从 stringObject 的开始位置到结尾的字串。
*/

复制代码
var shash = window.location.hash.substr(1);
var params = shash.split('&');
var map = new HashMap();
for (var i in params) {
var p = params[i].split("=");
if (p.length == 2) {
map.put(p[0], p[1]);
}
}
num_iid = map.get('iid');
detailstate = map.get('state');
if(detailstate =='chuc' || detailstate == 'chus' || detailstate == 'cangk' || detailstate == 'shouw'){
$('#deatailback').show();
}
page = map.get('page');
复制代码

 

(3)、返回按钮用于定位

1
2
3
4
5
6
7
<a class="sui-btn btn-bordered btn-primary" style="display:none()" id="deatailback" href="javascript:bblist()">返回首页</a>
/**
* [bblist 跳首页]
*/
function bblist() {
document.location.href = APP_WEB_INDEX_ROOT_CDN + 'index' + HTML_TYPE + '?qntag=1#detailstate=' + detailstate + '&page=' + page + '&itemid=' + num_iid;
}

  

编辑推荐:
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
阅读排行:
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· DeepSeek如何颠覆传统软件测试?测试工程师会被淘汰吗?
点击右上角即可分享
微信分享提示