- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试使用 ng-show 为自定义模式指令设置动画,遵循 Angular 上显示的示例网站(示例位于页面的最底部)。但是,我没有任何运气让它发挥作用。
我正在使用 Angular 1.3.x 和 Bootstrap 3.3.x。我没有使用 Angular UI Bootstrap,因为自定义模式指令更灵活地满足我的需求。
这是我到目前为止所得到的:
模态.js:
angular.module('plunker', [])
.directive('myModal', function() {
return {
restrict: 'E',
transclude: true,
replace: true,
templateUrl: 'modal.html',
controller: 'ModalCtrl',
link: function(scope, element, attrs) {
scope.showModal = false;
if (attrs.title === undefined) {
scope.title = 'Modal Title Placeholder';
} else {
scope.title = attrs.title;
}
scope.$watch('showModal', function(isHidden) {
if (isHidden) {
} else {
}
});
}
};
}).controller('ModalCtrl', ['$scope',
function($scope) {
$scope.$open = function() {
$scope.showModal = true;
};
$scope.$close = function() {
$scope.showModal = false;
};
}
]);
模态.html:
<div role="dialog" tabindex="-1" class="modal modal-fade" ng-show="showModal">
<div class="modal-backdrop" style="height: 100%"> </div>
<div class="modal-dialog modal-lg">
<div class="modal-content">
<div class="modal-header">
<h3 class="modal-title">{{title}}</h3>
</div>
<div class="modal-body">
<div class="content" ng-transclude></div>
</div>
</div>
</div>
</div>
模态.css:
.modal-fade {
opacity: 1;
display: block !important;
}
.modal-fade .ng-hide-add .ng-hide-add-active,
.modal-fade .ng-hide-remove .ng-hide-remove-active {
-webkit-transition: all linear 1s;
-moz-transition: all linear 1s;
transition: all linear 1s;
}
.modal-fade .ng-hide {
opacity: 0;
display: none;
}
index.html:
<my-modal title="Example Modal">
<p>Some text</p>
<button type="button" class="btn btn-primary" ng-click="$close()">Close</button>
</my-modal>
<button type="button" class="btn btn-primary" ng-click="$open()">Open Modal</button>
其他一切正常,即模式显示并可以关闭,但没有动画。
这是一个 Plunkr代码链接。
最佳答案
AngularJS 的动画 Hook 是在一个名为 ngAnimate
的单独模块中实现的.
加载脚本:
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.3.11/angular-animate.min.js"></script>
并添加模块:
angular.module('plunker', ['ngAnimate'])
其次,您需要连接 CSS 类以形成正确的选择器。
代替:
.modal-fade .ng-hide {
做:
.modal-fade.ng-hide {
第一个是后代选择器,它将选择类为 ng-hide
的元素。并且是类别为 modal-fade
的元素的后代.
第二个将选择具有这两个类的元素,这是您需要的。
对于这种情况,您只需要:
.modal-fade {
-webkit-transition: all linear 1s;
-moz-transition: all linear 1s;
transition: all linear 1s;
display: block;
}
.modal-fade.ng-hide {
opacity: 0;
}
display: block
只需要覆盖 display: none
来自 modal
Bootstrap 中的类。
关于javascript - 无法使用 ngShow 为自定义指令设置动画,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28465442/
我在使用 ngShow 时遇到以下问题。我从 $http.get 收到 JSON 响应并使用 ngRepeat 构造多个 DOM 元素。所有这些工作正常。从我的 Controller 只需应用:
我正在纠结如何让 ngShow 在指定的超时时间内确定表达式,事实证明 Angular 可以计算表达式但无法反射(reflect) View 中的变化,这是我使用的代码 (查看)
我有一个按钮,当数组 $scope.game.players.players 包含特定值时,我想隐藏该按钮。 button(ng-click="", ng-hide="ImPlaying()") Pl
我有这个 Angular 代码: {{item.label}} {{item.label}} {{item.description}} {{!!item.desc
我在 $rootScope 中运行了一些东西来为 userLoggedIn 设置应用程序范围的值: mod.run(function($rootScope) { $rootScope.user
尝试根据 preview 变量是否为真在 Angular 中显示 textarea。 preview 设置为 true 后,我想将焦点也设置到 textarea 上。 Controller 逻辑 .c
这是我的js: (function () { angular.module("profile.view", []) .controller("ViewControlle
我正在尝试使用 ng-show 为自定义模式指令设置动画,遵循 Angular 上显示的示例网站(示例位于页面的最底部)。但是,我没有任何运气让它发挥作用。 我正在使用 Angular 1.3.x 和
我有两个关于 angularJS 的问题,我使用了不同的部分,我只想展示一个,所以我做了: 和 例如,我的范围内有很多变量。 我们可以这样做吗? 和 使用变量和比较?这会很棒,因为我不能使用 n
我正在尝试在 上切换 ng-show与谷歌地图相邻 通过单击 map 上的标记。本质上,我希望点击标记的行为类似于 ng-click="toggle()"。 . 当我单击标记时,true/false
对于每个“条目中的条目”,我都有一个按钮将 ng-show 切换为 true 并显示有关条目的详细信息。目前,此代码将每个条目切换为 ng-show=true。我希望每个按钮仅切换其所在条目的详细信息
我正在尝试高度动画, 在我的 html 中我得到了 This is an error message that can have hell lots of content Toggle
这是来自angularjs的例子 https://docs.angularjs.org/api/ng/directive/ngShow 我把所有的东西都放在我的本地 为什么不能在我的本地工作? 我错过
我试图在加载数据时显示加载图标,然后在数据准备就绪时显示加载图标。问题是几秒钟后,我可以看到加载图标和数据... 这是我的代码 $scope.items[y].content.push({ text:
我正在玩最近添加的 angular.js 动画功能,但这不能按预期工作 .myDiv{ width:400px; height:200px;
这可能不可行,但如果没有任何数据,我会隐藏一个列表,然后希望在有东西推送到它时显示该列表。 这是一个有效的示例 - 理论上,“未找到待办事项”消息应该消失,然后出现一个列表。我在“添加”按钮下方包含了
我知道问这个问题绝对是愚蠢的,但我很好奇有没有办法做这样的事情: 0'> // shown 最佳答案 要添加@Josh David Miller 的答案,以下值在 Angular
我正在尝试使用 ngAnimate 执行动画菜单。 home.html Menu 样式.css .fadeIn-setup,.fadeOut-setup
首先我将提供背景信息,然后显示一些代码片段。 我有一个 ng-repeat,它是重复的类似盒子的小部件,里面有数据/信息。 我有一个搜索栏,可以过滤小部件中的数据,并且仅显示包含搜索栏中字符串的小部件
我的网站有一个部分,当用户单击表格上的特定行时会显示该部分: 该指令包含一个物化表单,必须用它来初始化它才能正确显示: $('select').material_select(); 我想做
我是一名优秀的程序员,十分优秀!