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

AngularJS / UI引导程序-删除时淡出警告

芮雪风
2023-03-14
问题内容

我在UI Bootstrap中使用Angular
。我创建了自定义指令,该指令将广播的最差消息推送到绑定到视图的警报数组中(呈现为Bootstrap警报)。在一定的超时后,警报将从阵列(因此也从视图)中删除。这是代码:

angular.module('myApp')
  .directive('alerts', function ($timeout) {
    return {
      restrict: 'E',
      templateUrl: 'views/alerts.html',
      scope: true, /*share scope between alerts directives*/
      link: function (scope) {
        scope.alerts = [];

        scope.$on('alert', function (event, alert) {
          var newLength = scope.alerts.push({type: alert.type, msg: alert.message});

          $timeout(function() {
            scope.alerts.splice((newLength-1), 1);
          }, 3000);
        });
      }
    };
  });

我想知道是否可以在删除警报之前向警报添加淡出(或其他动画)?任何帮助和提示,将不胜感激!


问题答案:

在Angular中> 1.1.5

您可以使用angular的内置动画功能。基本上,您只需data-ng-animate="'<animation class>'"在重复元素上添加一个。

看到这个优秀的post -in-angularjs动画或@Nikos的回答。

在Angular 1.0.7中(稳定)

据我所知,没有动画支持。但是,您可以自己制作动画。我不是专业人士,所以这可能不是最好的方法。

创建第二个$timeout添加一个“淡出CSS3”动画,该动画在第一个超时触发之前启动:

  1. 创建CSS3动画类以隐藏警报(可能已经来自引导程序)

    @keyframes fadeOut
    

    {
    from { opacity: 1.0; }
    to { opacity: 0.0; }
    }

    @-webkit-keyframes fadeOut
    {
    from { opacity: 1.0 }
    to { opacity: 0.0 }
    }

    .fade-out
    {
    animation: fadeOut 2s infinite;
    -webkit-animation: fadeOut 2s infinite;
    }

  2. 添加第二个$ timeout:

    $timeout(function() { alert.expired = true; }, 2000);
    
  3. 在模板中,添加条件类ng-class

    <div ng-repeat="alert in alerts" ng-class="{'fade-out': alert.expired}">...</div>
    


 类似资料:
  • 我正在使用Python和MySQLdb向数据库中添加行。似乎当我的脚本退出时,行会被删除。在脚本退出之前,我的最后一行在表上执行“select*”,这显示了我的一行。当我重新运行脚本时,第一行(在打开连接之后)执行相同的“select*”并返回零结果。我在这里真的是不知所措。我已经在这方面工作了大约2个小时,不能理解什么可以访问我的数据库。 此外,在运行脚本之间,我从终端手动运行“select*”

  • 我使用的是twitter引导程序,警报框的关闭时间比我想的要快。有什么地方我可以改变淡入淡出的持续时间或者甚至设置在每个警报的基础上吗? 谢谢

  • 问题内容: 我想创建一个带有预标记的引导弹出窗口,该预标记包含已预定义的JSON对象。天真的实现, 在将内容插入弹出窗口之前先对其进行转义。用HTML内容指定弹出框的最佳方法是什么? 问题答案: 更新 : 使用popover-template指令如果您使用的angular-ui版本等于或大于0.13.0,则最好的选择是使用popover-template指令。使用方法如下: 注意:不要忘记中模板名

  • 所属类别 特效(Effects) 用法 描述:淡入淡出特效(Fade Effect)通过淡入淡出元素来隐藏或显示一个元素。fade 实例 使用淡入淡出特效(Fade Effect)切换一个 div。 <!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <title>淡入淡出特效(Fade Effect)演示</ti

  • 在我决定问它之前,我通过编程搜索了一些去除色调的颜色,但它被标记为重复,所以我不知道这是否也是重复的?因为它没有回答我的问题,我想。 因为我还在问是否可以在更改后重置或删除的色调。 这是正常图像 这是选定的图像 这是取消选择图像后再次出现的正常图像 这是我的代码。 我还尝试了但图像变白或消失。我还尝试了,但图像什么也不做,变成最后一个图像。 我正在使用材料设计图标。 我想将图像恢复为正常的,正如您

  • 好吧,我正在通过选择视图技术作为jsp开发一个Spring启动应用程序。但是当我尝试引导Spring启动应用程序时,我得到了白色级别的错误页面。 那么请复习下面的代码。帮我解决哪里出了问题?