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

在实际位置/状态上中断/停止CSS3过渡

夹谷浩宕
2023-03-14
问题内容

我正在编写一个jQuery插件,以通过CSS3 Transitions对元素进行动画处理。在jQuery中,.stop()这会中断所选元素上的当前动画。

知道如何停止正在运行的CSS3动画吗?有没有一种本机的方法可以解决这个问题,或者我必须确定动画的大小并将动画元素的样式设置为当前位置,颜色大小或其他内容?

我试图将“ -webkit-transition-duration”设置为0 / none / false。但它不会停止动画。


问题答案:

无需深入了解插件,只需css3animate使用当前( 计算的 )所需道具的值来重新使用您的方法,并将持续时间设置为0(
在插件中为1,因为您使用!speed来使用默认值。

所以在示例中使用

var $animated = $('div');
$animated.css3animate({"height": $animated.css('height'), "width": $animated.css('width')}, 1);

会成功的

当然,您应该针对正在使用的当前属性自动执行此操作。如果在启动动画时使用计时器,而在有人使用stop方法时使用计时器,则还可以模拟暂停/继续功能。

更新

您可以将cssObject传递给动画的内容存储到data元素的,并在它们的停止循环上存储它们以获取当前值。

因此,在您的animation方法中,您可以$obj.data('animationCss', cssObject);并且在stop方法中

stop : function( clearQueue,jumpToEnd ){
    return this.each(function(){
        var $that = $(this);
        var currentCss = {};
        var animationCss = $that.data('animationCss');
        for (var prop in animationCss)
            currentCss[prop] = $that.css(prop);

        if (jumpToEnd)
        {
            animation($that,currentCss,1, function(){animation($that,animationCss,1)});
        }
        else
        {
            animation($that,currentCss,1);
        }
       console.log("stop was called");
    });
   }


 类似资料:
  • 问题内容: 我有一个position:fixed的元素,所以随页面滚动,但是我想要它如何。当用户向上滚动时,我希望元素在某个点处停止滚动,比如说距页面顶部250px时,这可能吗?任何帮助或建议都将有所帮助,谢谢! 我有一种感觉,我需要使用jquery来做到这一点。我尝试获取用户所在位置的滚动或位置,但感到非常困惑,是否有任何jQuery解决方案? 问题答案: 这是我刚刚编写的一个快速jQuery插

  • 问题内容: 我对这个问题进行了一些搜索,但发现了非常模糊的答案。在redux中,我们知道状态存储为对象。但是这种状态实际上存储在哪里?它是否以某种方式保存为文件,以后我们可以访问?我所知道的是,它不会以Cookie格式或浏览器的本地存储方式存储它。 问题答案: Redux中的状态存储在Redux存储中的内存中。 这意味着,如果刷新页面,该状态将消失。 您可以想象该商店看起来像这样: redux中的

  • 问题内容: 我正在寻找一种解决常见问题的方法,即在页面的页脚处停止固定对象。 我基本上在屏幕的左下角有一个固定的“共享”框,我不希望它在页脚上滚动,因此我需要它在页脚上方停止。 我在这里以及其他地方都看过其他问题。但是我无法使其适合我的情况。 这是共享框的html: …和CSS: 页脚是并且它没有固定的高度(如果有任何区别)。 如果有人可以帮助我为此创建一个简单的jQuery解决方案,我将不胜感激

  • 我想添加一个监视器来检测不正常的服务,并在这种情况下发送警报。我已经公开了一个简单的REST API - ,它返回一个JSON,例如。 然后,我已将 添加到我的 site24x7 帐户,将内容检查响应格式设置为 JSON,现在我应该提供要断言的 JSONPath。 在JSONPath在线测试器中,当我使用时,我得到。但我想我应该尝试断言该返回值。 使用以下表达式不起作用 我想我应该使用或过滤来评估

  • 所以我有一个问题,我对android编程很陌生,我开始编程android应用程序才6-8周,所以我可能是盲人,看不到简单的答案,但我的问题是: 我正在做一个学校项目,我试图开发一个类似于今天日历分割视图中的日历(下面的一个) 我用GridLayoutManager创建了一个RecyclerView,如下所示: 在此之前,一切都很好,但我正在尝试实现一个按钮,该按钮将日历设置为今天的日期,问题是当我

  • 问题内容: 我知道将状态设置为打开是一种反模式,应该将状态设置为打开,但是假设我想将标记数量的长度设置为状态。在那种情况下,我无法将状态设置为on,因为在该阶段可能未安装标签。那么,这里最好的选择是什么?如果将状态设置为开启,会好吗? 问题答案: 这不是一个反模式调用在。实际上,ReactJS在其文档中提供了一个示例: 您应该在componentDidMount生命周期方法中使用AJAX调用填充数