首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >角抓取不能与ngSticky一起工作

角抓取不能与ngSticky一起工作
EN

Stack Overflow用户
提问于 2016-05-30 14:13:03
回答 2查看 124关注 0票数 0

试图将角扣ngSticky一起使用,但它不起作用,应该保持粘性的面板正在滚动。

我准备了两个例子:

您可以在两个示例中展开手风琴面板,并尝试滚动以查看差异。实际上,我已经尝试过多种解决方案来使元素成为粘滞的,但是没有人使用过角扣。

如果我删除1中的非工作示例angular-snap.css文件,它就开始工作,但显然我需要它。我无法进一步调试这个问题,因此希望能提供任何帮助。

EN

回答 2

Stack Overflow用户

发布于 2016-05-30 18:22:50

事实上,我找到了一个解决办法:)我笑了,因为这不是我第一次在发布问题后不久自己找到解决方案。

我创建了以下指令:

代码语言:javascript
复制
.directive("stickyElement", function ($window) {
    return function(scope, element, attrs) {
        angular.element($window).bind("scroll", function() {
            console.log("scrolled");
        });

        $(".snap-content").bind("scroll", function(event){
            var scrolledUp = $(".snap-content").scrollTop();
            console.log("from top: " + scrolledUp);
            var offset = 50 - scrolledUp > 0 ? 50 - scrolledUp : 0; 
            $(element[0]).offset({top: offset});

        })
    };
});

首先,它检测.snap-content元素的滚动,而不是未滚动的window,如果我正确理解这就是为什么它不能工作的原因。角扣导致window被展开.然后我做了一个简单的计算,找出这个元素应该从顶部接收哪个offset,然后设置这个值。当然,在最终版本中,所有参数都将以角的方式传递。

这是一个工作示例:https://plnkr.co/edit/HnBM2P5H7D2LPYt7uXve?p=preview

P.S. --尽管它正在工作--我觉得这是一个有点麻烦的解决方案,因为我的指令绑定到了不相关的元素.snap-content。因此,如果有人给出更美丽的解决方案,我将接受它。

票数 0
EN

Stack Overflow用户

发布于 2016-05-31 08:37:27

角抓取的作者在这里提供了这个问题的解决方案:https://github.com/jtrussell/angular-snap.js/issues/113,您应该使用:

  • 角扣-只有. this从这个回购
  • snap.css -来自Snap.js回购公司

同样,请参阅这里的详细解释:https://github.com/jtrussell/angular-snap.js/issues/113

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37527823

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档