- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试使用 $anchorScroll
和 $location.hash()
滚动到 div
.我在页面顶部有一个底部。当我单击底部时,我希望页面向下滚动到我有一个 <div id="target">
的页面底部。 .
出于某种原因,我第一次单击该按钮时,我的页面没有滚动。如果第二次单击,页面会滚动。然后滚动工作正常。如果我刷新页面,可以重现这种奇怪的行为。
我的 Controller 中有这段代码:
$scope.scrolldown = function() {
$location.hash('target');
$anchorScroll();
}
我知道 $location.hash('target')
行应该将哈希值附加到我的 URL 的末尾。
这是我的页面首次加载时的 URL:
http://run.plnkr.co/iqvdGjdeCP4idP4D/
在我第一次点击我的按钮后,它变成了:
http://run.plnkr.co/iqvdGjdeCP4idP4D/#/target
这是不对的(页面没有正确滚动)。
在我第二次点击我的按钮后,它变成了:
http://run.plnkr.co/iqvdGjdeCP4idP4D/#/target#target
从这一点开始,页面开始正常滚动,但 URL 对我来说仍然很奇怪——为什么我需要两个哈希值?
我想知道为什么按钮只有在第二次点击后才有效,以及如何更正它。
我在我的代码中添加了路由,滚动现在工作正常。这是 my plunker demo with routing.
最佳答案
看看这个问题,其中包含适合您的可能解决方案: Supress reloading of ui-router based view on query parameter change
它在您第二次单击该按钮时起作用,因为哈希值没有改变(因此路由不会重新加载)。注意到第一次点击时页面闪烁了吗?这表明整个 DOM 已被重新渲染。
关于angularjs - $anchorScroll 和 $location 只有在第二次尝试后才有效,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29526187/
你好,我用过这个http://www.benlesh.com/2013/02/angular-js-scrolling-to-element-by-id.html滚动到元素,但是有没有办法设置anch
我相信我遇到了这里提到的同样问题:$anchorScroll and $location only work after second try 我查看了有效的 plunker 并且我已经设置了路由,但
我想重定向到同一页面中 DOM 的某些元素。我使用了以下代码,JS: $scope.scrollTo = function (id) { $location.hash(id);
我有一个带有 angularjs 路由的应用程序,但在某些 View 中,我想滚动到某个特定的 div 并且我使用 anchorScroll 但有时(并非所有时间)它刷新所有页面,即使我停止事件传播。
我正在使用 Angular $anchorScroll 并且它工作完美,唯一的问题是:我将在页面中有 100 个链接,那么使我的 Angular 代码干净的最佳方法是什么?没有为每个 anchor 链
我的页面有两列固定高度。每列中的项目都是 ng-repeated。 如何在每列中滚动到某个 id? AngularJS 可以做到这一点吗? 代码 Scroll to a position C
我一直在寻找,但到目前为止我找不到答案/解决方案,所以我希望这里有人能够回答我,并在可能的情况下指导我找到解决方案。 我正在尝试实现本页第二个示例中看到的结果:https://docs.angular
我在使用 $anchorScroll 时遇到问题。我有一个带有 ng-ig 条件的 div,该条件在开始时不可见。当单击按钮时,我需要使用 $anchorScroll 函数进入该 div。此按钮还使
我正在使用 $anchorScroll 将页面上的滚动条移动到特定位置。就我而言,当我从搜索结果页面单击某个剧集的链接时,我想打开包含该剧集的播客页面,然后向下滚动到该特定剧集所在的位置并播放它。播客
我正在尝试使用 $anchorScroll和 $location.hash()滚动到 div .我在页面顶部有一个底部。当我单击底部时,我希望页面向下滚动到我有一个 的页面底部。 . 出于某种原因,
我需要在页面重新加载时滚动到特定的 anchor 标记。我尝试使用 $anchorScroll,但它计算 $location.hash(),这不是我需要的。 我根据$anchorScrollProvi
据我了解 $anchorScroll yOffset 在子元素中是不可能的:“为了使 yOffset 正常工作,滚动应该发生在文档的根部而不是某些子元素上。” https://docs.angular
阅读AngularJS docs我还没有弄清楚 $anchorScroll 是否可以有持续时间/缓动选项来平滑滚动到元素。 它只是说: $location.hash('bottom'); // cal
我们通过设置 $location.hash(id) 在 ionic 应用程序中使用 scrollTo 功能和 $anchorScroll() .滚动到底部工作正常,但是一旦页面使用 $anchorSc
我正在使用 ui-router 并尝试在 Controller 中自动滚动。然而 anchorScroll 似乎什么都不做,我猜它不喜欢 URL 中的两个 #。 例子: index.php#/init
我的 html 中有这些元素: 我的方法 scrollTo() : scrollTo() { this.$location.hash('result') } 这很好,但我想要一个不
我的脚本基于http://plnkr.co/edit/De6bBrkHpojgAbEvHszu但是我与 ID anchor 的所有链接都在 View 中,每次单击它们都不会将我带到元素,它只是重新加载
我想在 ng-view div 中加载新内容后自动滚动到页面顶部。 所以我实现了$anchorScroll,并调用一个函数来跳转到页面顶部: "use strict"; angular.module(
我需要从我的 AngularJS 主页滚动到另一个页面中的 anchor 标记。这两个页面都基于 url 作为部分 html 进入 ng-view 组件。在启动服务器时,主页被加载,需要从那里转到常见
我在 AngularJS 中使用 $anchorScroll 服务。效果很好。但我在顶部有一个固定的导航栏,滚动位置总是 x 像素远。 现在在$anchorScroll documentation有一
我是一名优秀的程序员,十分优秀!