现在做一个商城,有一个商品分类页面,类似这种,然后点击购物车,在购物车中,编辑已经加入购物车的商品,增加数量;
购物车页面有一个返回按钮,点击返回按钮,回到分类页面,这时候要求,还是之前浏览的那个位置(这个history.go(-1)可以实现),但是要求数量刷新,怎么做,求大神
a页面跳转到b页面,在B页面点返回a页面,怎么局部刷新A页面?
其实局部刷新和不局部属性已经无所谓了,因为这根本就看不出来。还有就是你从b转到a,还要求b只做局部刷新,这个没法做到吧。
记住上一次的位置倒是可以加个参数什么的,返回去的时候根据这个参数去指定当前浏览器滚动条的位置。
不是局部刷新b啊,是在b页面操作了,比如商品数量,那么从b返回a,保持a页面原来的位置,然后数量要是最新的,就是这样
@8丶: 理解你的意思,打错了字了。
就是从b返回a的时候,a中的数量要是最新的。
你可以在从a跳转到b的时候获取a中滚动条的位置,以这个为参数传到b,然后在从b中返回a的时候再把这个参数传回来,然后在Juery中获取这个参数,再根据这个参数设定当前浏览器滚动条所在位置,也就是原来的位置。
或者不用传参数也行,直接把这个参数保存到cookie中,回来的时候在获取。
@8丶: 我这里有两个页面,你可以参考一下。
<html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title></title> <script src="../../Scripts/jquery-1.11.1.min.js"></script> <script> $(function () { var cookie = document.cookie; var arr = cookie.split(';'); var prevposition = ''; for (var i = 0; i < arr.length; i++) { if (arr[i].split('=')[0] == "docheight") { prevposition = arr[i].split('=')[1]; } } document.body.scrollTop = prevposition; $("a").click(function () { var height = document.body.scrollTop; document.cookie = 'docheight=' + height; }) }) </script> <style> #content div { width: 100%; height: 300px; border: 1px solid gray; } </style> </head> <body> <div id="content"> <div><span>1</span><a href="/Content/html/1.html">点击到1.html</a></div> <div><span>2</span><a href="/Content/html/1.html">点击到1.html</a></div> <div><span>3</span><a href="/Content/html/1.html">点击到1.html</a></div> <div><span>4</span><a href="/Content/html/1.html">点击到1.html</a></div> <div><span>5</span><a href="/Content/html/1.html">点击到1.html</a></div> <div><span>6</span><a href="/Content/html/1.html">点击到1.html</a></div> <div><span>7</span><a href="/Content/html/1.html">点击到1.html</a></div> <div><span>8</span><a href="/Content/html/1.html">点击到1.html</a></div> <div><span>9</span><a href="/Content/html/1.html">点击到1.html</a></div> <div><span>10</span><a href="/Content/html/1.html">点击到1.html</a></div> </div> </body> </html>
下面是1.html
<head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title></title> </head> <body> <input type="button" value="返回" onclick="window.history.go(-1);" /> </body> </html>
已经实现。
至于你返回后的数据要刷新,浏览器本身已经给你刷新,所以数据当然是最新的。
@龙行天涯: 感谢
@龙行天涯: 这个好像在微信浏览器上不会刷新第一个页面?
@8丶: 这个没试过,如果不不会刷新,那就手动刷新一下咯
使用AJAX局部刷新
a页面跳转到b页面,在B页面点返回a页面,怎么局部刷新A页面?
<a href="javascript:history.go(-1);location.reload()">
看你吧。个人以前碰到过要求"返回按钮"的。返回后需要记录先前页面的所有查询条件(文本框、单/多选钮等)。实现方式似乎使用的是js记录标示吧 or session缓存啥的。 确实时间长了有点忘。。。
so、感觉不是简单的返回那么简单。返回谁不会。js一句话就行了;
提供个思路。看你自己
目前知道的三种解决方案:
1,ajax局部刷新
2,客户端记录cookie
3,服务端记录flag,返回客户端时候根据flag动态添加状态