活用锚点解决的问题(由一个简单应用想到的许多)

本文参考:利用location的hash值来解决Ajax两大难题

本人javascript初学者...ajax乱用者是也...

有说的不对的地方...希望大家多多拍砖...

这几天都被这样一个问题所困扰着...

问题大致描述

页面中放置两个div...分别为 A层 和 B层...
页面初始加载时只显示A层...
有个Button利用JS操控,可将A层切换显示B层...
在显示B层的情况下...也可以切换显示A层
要求根据当前页面显示的层,刷新后保持...
即:如果当前显示是B层,刷新后显示仍然为B层...

截至到今天下午我想到的解决方案只有三种(只实现了其中第一种):

一:js操控cookie,切换层时,在cookie中保存当前页面状态。然后onload事件中读取出cookie的值。

     借此来控制刷新显示的层。

二:session,凭借想象这种方法应该可以,不过考虑会增加服务器的负荷...放弃之...

三:viewstate,由于需要用ajax传向后台...这个实现过程也仅仅是想了想而已...

 

以上三种方法都有局限性...所以有了以下方法...

在这里...感谢给与我帮助的几位前辈...(牛人啊...都是...小弟佩服...)

由Gmail中来的灵感...在Gmail使用中发现...当点击收件箱时,页面没有刷新...地址栏的地址会变成http://domian/#inbox

然后刷新之后就能返回到刚刚的收件箱中了...而不是像网易邮箱那样回到了首页...

于是开始问google...这个#就是锚点...常用于网页定位...原来我也是个HTML初学者...

然后还得到了参考文章的链接...

于是后面的过程很简单了...

切换层时...在地址栏上面加上锚点 #adiv or #bdiv

onload事件中判断...这样算是比较完美的解决了...

关于锚点的其他作用...参考文章有所介绍...不重复介绍...

大家共同进步...

 

PS.google的javascript写的牛啊...前天见识了下google日历...今天又见识了Gmail...还有首页那个华丽的导航条...

googleは神様です。

转载于:https://www.cnblogs.com/TimLeaf/archive/2008/09/01/1281544.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值