2 qq 24435837 qq_24435837 于 2017.09.06 16:31 提问

AngularJs1和angular-ui-route.js,点击导航栏切换页面,滚动条每次都会置顶 10C

请教一个问题,我用的是AngularJs1和angular-ui-route.js,点击导航栏切换页面,页面虽然没有刷新,但滚动条怎么每次都会置顶啊,希望它能停留在之前浏览的位置
网上找了很久都没找到答案,急求

5个回答

qq_38494537
qq_38494537   2017.09.06 16:37

你可以每次点击导航切换页面时,先获取下滚动条距离顶端的距离,然后给新页面设置滚动条位置即可。
这是jQuery获取滚动条距离的博客

qq_24435837
qq_24435837 回复qq_38494537: 这样子我页面有点多啊。。。
2 个月之前 回复
qq_38494537
qq_38494537 回复花生喂龙: 也就是说,这个不能刷新页面,页面打开的时候,导航有多少选项,你就需要提前加载多少页面,而不是点击后加载页面
2 个月之前 回复
qq_24435837
qq_24435837 不是的,我是要 在A页面浏览到了底部,此时用路由切换到B页面,再从B页面切换到A页面,A页面还保持浏览到底部的状态,我现在是每次都回到了顶部
2 个月之前 回复
yizishou
yizishou   2017.09.06 17:45

你看下切换到新的页面的时候旧的页面是销毁掉了还是隐藏掉了。。要是销毁掉了(用的ng-if),那么再切回去的时候重新渲染,肯定不会保留上次浏览位置的。用样式隐藏掉试试

还有,问题不要提在java分类下面。。

qq_24435837
qq_24435837 我都没有用啊,我把代码贴在下面了
2 个月之前 回复
qq_38494537
qq_38494537   2017.09.07 09:14

或者你还是可以按照上面的方式提前计算好每个页面跳转前的滑动条距离,跳转回去的时候,再设置距离

qq_24435837
qq_24435837   2017.09.07 09:43

我的代码:
routingMod.config(['$stateProvider', '$urlRouterProvider',function($stateProvider,$urlRouterProvider){
$urlRouterProvider
.otherwise('c');
$stateProvider
.state('a',{
url:'/a',
templateUrl:'/studio/a/JOINT_CARE'
})
.state('c',{
url:'c',
templateUrl:'/studio/c/JOINT_CARE'
})
}])




首页







消息









qq_24435837
qq_24435837 回复qq_24435837: 上面的没显示出来。。。
2 个月之前 回复
qq_24435837
qq_24435837 <li> <div ui-sref="c"> <div class="admin_icon"></div> <p>我</p> </div> </li> <p>首页</p> </div> </li> <li> <div ui-sref="b"> <div class="msg_icon"></div> <p>消息</p> </div> </li> <li> <div ui-sref="c"> <div class="admin_icon"></div> <p>我</p> </div> </li>
2 个月之前 回复
qq_24435837
qq_24435837   2017.09.07 10:02

图片说明
我要做的效果是 在 首页(a) 浏览到了底部,此时用路由切换到 我(c),再从 我(c) 切换到 首页(a),首页(a) 还保持浏览到底部的状态,我现在是每次都回到了顶部
我的代码:
图片说明
图片说明
图片说明

Csdn user default icon
上传中...
上传图片
插入图片