首页 新闻 赞助 找找看

点击返回上一页,上一页之前浏览的位置不变,刷新数据

0
悬赏园豆:200 [已解决问题] 解决于 2017-05-19 15:37

现在做一个商城,有一个商品分类页面,类似这种http://img.mukewang.com/591e681f0001411a03600638.jpg,然后点击购物车,在购物车中,编辑已经加入购物车的商品,增加数量;

购物车页面有一个返回按钮,点击返回按钮,回到分类页面,这时候要求,还是之前浏览的那个位置(这个history.go(-1)可以实现),但是要求数量刷新,怎么做,求大神

问题补充:

a页面跳转到b页面,在B页面点返回a页面,怎么局部刷新A页面?

8丶的主页 8丶 | 初学一级 | 园豆:22
提问于:2017-05-19 11:42
< >
分享
最佳答案
0

其实局部刷新和不局部属性已经无所谓了,因为这根本就看不出来。还有就是你从b转到a,还要求b只做局部刷新,这个没法做到吧。

记住上一次的位置倒是可以加个参数什么的,返回去的时候根据这个参数去指定当前浏览器滚动条的位置。

收获园豆:170
龙行天涯 | 小虾三级 |园豆:1794 | 2017-05-19 14:54

不是局部刷新b啊,是在b页面操作了,比如商品数量,那么从b返回a,保持a页面原来的位置,然后数量要是最新的,就是这样

8丶 | 园豆:22 (初学一级) | 2017-05-19 14:56

@8丶: 理解你的意思,打错了字了。

就是从b返回a的时候,a中的数量要是最新的。

你可以在从a跳转到b的时候获取a中滚动条的位置,以这个为参数传到b,然后在从b中返回a的时候再把这个参数传回来,然后在Juery中获取这个参数,再根据这个参数设定当前浏览器滚动条所在位置,也就是原来的位置。

或者不用传参数也行,直接把这个参数保存到cookie中,回来的时候在获取。

龙行天涯 | 园豆:1794 (小虾三级) | 2017-05-19 15:06

@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>

已经实现。

至于你返回后的数据要刷新,浏览器本身已经给你刷新,所以数据当然是最新的。

龙行天涯 | 园豆:1794 (小虾三级) | 2017-05-19 15:32

@龙行天涯: 感谢

8丶 | 园豆:22 (初学一级) | 2017-05-19 15:37

@龙行天涯: 这个好像在微信浏览器上不会刷新第一个页面?

8丶 | 园豆:22 (初学一级) | 2017-05-19 16:22

@8丶: 这个没试过,如果不不会刷新,那就手动刷新一下咯

龙行天涯 | 园豆:1794 (小虾三级) | 2017-05-19 18:05
其他回答(4)
0

使用AJAX局部刷新

收获园豆:10
魔多 | 园豆:1015 (小虾三级) | 2017-05-19 11:47

a页面跳转到b页面,在B页面点返回a页面,怎么局部刷新A页面?

支持(0) 反对(0) 8丶 | 园豆:22 (初学一级) | 2017-05-19 12:58
0

<a href="javascript:history.go(-1);location.reload()">

收获园豆:10
风行天下12 | 园豆:3867 (老鸟四级) | 2017-05-19 12:04
0

看你吧。个人以前碰到过要求"返回按钮"的。返回后需要记录先前页面的所有查询条件(文本框、单/多选钮等)。实现方式似乎使用的是js记录标示吧 or session缓存啥的。 确实时间长了有点忘。。。

so、感觉不是简单的返回那么简单。返回谁不会。js一句话就行了;

提供个思路。看你自己

收获园豆:10
Ctrl` | 园豆:3317 (老鸟四级) | 2017-05-19 13:48
0

目前知道的三种解决方案:

1,ajax局部刷新

2,客户端记录cookie

3,服务端记录flag,返回客户端时候根据flag动态添加状态

黑默 | 园豆:202 (菜鸟二级) | 2017-06-06 12:17
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册