当stop()取消动画时,如何防止类保持活动状态
How to prevent a class from remaining active when stop() cancels the animation?
我被我得到的动画难住了,基本上我在导航按钮上设置了一个类,当菜单可见时,它从三个引脚变成了一个x。
问题是,当你垃圾点击按钮,这是可能的x
类是活跃的,尽管菜单出了屏幕。这很可能是由stop()
函数引起的,因为它取消了动画。
这是我到目前为止所尝试的:
stop()
,这是我需要的。这是我当前的尝试:
nav.directive('navSettings', [function() {
return {
restrict: 'A',
link: function($scope, element, attrs) {
var windowHeight = $(window).height(),
siteNav = $('#site-nav');
siteNav.css('height', windowHeight + 'px');
element.on('click', function() {
var posLeft = siteNav.position().left,
navWidth = siteNav.width();
posLeft === -navWidth ? posLeft = 0 : posLeft = -navWidth;
if (element.hasClass('x')) {
element.removeClass('x');
siteNav.stop().animate({
left: posLeft
});
}
else {
element.addClass('x');
siteNav.stop().animate({
left: posLeft
});
}
});
}
}
}]);
一些与此相关的HTML:
<div>
<div>
<button id="nav-toggle" data-nav-settings>
<hr ng-repeat="pin in [1, 2, 3]">
</button>
</div>
</div>
<aside id="site-nav">
<nav class="padding narrow" ng-controller="NavCtrl"></nav>
</aside>
我不知道还能做些什么来确保这种情况不会发生。
nav.directive('navSettings', [function() {
return {
restrict: 'A',
link: function($scope, element, attrs) {
var windowHeight = $(window).height(),
siteNav = $('#site-nav');
siteNav.css('height', windowHeight + 'px');
element.on('click', function() {
var posLeft, navWidth = siteNav.width();
if (element.hasClass('x')) {
element.removeClass('x');
posLeft = -navWidth;
}else{
element.addClass('x');
posLeft = 0;
}
siteNav.stop().animate({
left: posLeft
});
});
}
}
}
]);
删除了左侧位置的额外检查,并将动画移动到if
之外。现在检查一下垃圾邮件过滤器是否有效:)
相关文章:
- 在Angular 2中布线期间保持零部件处于活动状态
- 如何使bxslider仅在移动视图中处于活动状态
- 悬停下拉菜单即使在鼠标移出后也保持活动状态
- 使用纯javascript而非jquery使所选选项卡处于活动状态并保持非活动状态
- 我如何为列出的选项卡元素编写一个Protractor测试,它会检查它是否's是否处于活动状态
- 返回上一页时,Javascript仍处于活动状态
- Angular+bootstrap ui,检查当前选项卡是否已处于活动状态
- 按钮处于活动状态,焦点无法在Mac FireFox上工作
- 禁用永久活动状态
- 单击我网站中的链接时打开新选项卡,保持当前选项卡处于活动状态
- 网页在等待 AJAX 响应时变为非活动状态
- 广告拦截处于活动状态,然后不要打开超链接到新标签
- 如何创建至少 1 个框处于活动状态的复选框列表
- 如何使按钮具有 :活动状态 1 秒
- JQuery UI 1.11 将选项卡设置为活动状态
- 如何防止元素保持活动状态
- 防止将鼠标悬停在活动状态上
- 如何防止jquery动画在选择框处于活动状态时触发
- 如何防止折叠菜单在页面处于活动状态时关闭
- 当stop()取消动画时,如何防止类保持活动状态