当前位置: 首页 > 面试题库 >

滚动页面时如何隐藏元素?

阳英朗
2023-03-14
问题内容

好吧,我有些困惑。

我试图考虑来自jQuery背景的角度方式。

问题:如果窗口不滚动,我只想隐藏一个固定的元素。如果有人向下滚动页面,我想隐藏该元素。

我尝试创建一个自定义指令,但由于滚动事件未触发,因此无法使其正常工作。我在想一个像下面这样的简单控制器,但是它甚至没有运行。

控制器:

.controller('MyCtrl2', function($scope,appLoading, $location, $anchorScroll, $window ) {
   angular.element($window).bind("scroll", function(e) {
       console.log('scroll')
       console.log(e.pageYOffset)
       $scope.visible = false;
   })
})

视图

<a ng-click="gotoTop()" class="scrollTop" ng-show="{{visible}}">TOP</a>

实时预览
http://www.thewinetradition.com.au/new/#/portfolio

任何想法将不胜感激。


问题答案:

基本指令如下所示。一个关键点是您需要致电,scope.$apply()因为滚动将在正常digest周期之外运行。

app = angular.module('myApp', []);
app.directive("scroll", function ($window) {
    return function(scope, element, attrs) {
        angular.element($window).bind("scroll", function() {
            scope.visible = false;
            scope.$apply();
        });
    };
});

我发现这个jsfiddle很好地展示了它http://jsfiddle.net/88TzF/



 类似资料:
  • 问题内容: 可以使用CSS隐藏滚动条吗?你会怎么做? 问题答案: 像这样在body标签上设置: 上面的代码同时隐藏了水平和垂直滚动条。 如果只想隐藏 垂直滚动条 ,请使用: 如果只想隐藏 水平滚动条 ,请使用:

  • 以下是我的html代码:

  • 目前,我正在使用以下代码显示滚动条: 使用此CSS时,滚动条始终可见,这意味着即使div中的内容没有溢出。 当内容符合提到的高度时,我如何隐藏它们?

  • 本文向大家介绍基于jquery实现页面滚动时顶部导航显示隐藏,包括了基于jquery实现页面滚动时顶部导航显示隐藏的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了jquery实现页面滚动时顶部导航显示隐藏效果代码。分享给大家供大家参考。具体如下: 运行效果截图如下: 具体代码如下: 引入核心文件 构建html,margint这个div中为了出现滚动条而建,并无实际作用。 写入CSS top

  • 问题内容: 我希望能够滚动浏览整个页面,但不显示滚动条。 在谷歌浏览器中: 但是Mozilla Firefox和Internet Explorer似乎无法正常工作。 我也在CSS中尝试过: 那确实隐藏了滚动条,但我不能再滚动了。 有什么办法可以删除滚动条,同时仍然可以滚动整个页面? 请仅使用CSS或HTML。 问题答案: 只是测试工作正常。 JavaScript: 由于滚动条的宽度在不同的浏览器中

  • 我试图创建一个滚动条隐藏的页面,但你仍然可以滚动或点击链接向下滚动。我可以隐藏滚动条,但我不能在100%上留下一页滚动。HTML CSS