【问题标题】:How to reset css before repeating sequence如何在重复序列之前重置css
【发布时间】:2014-03-09 06:50:57
【问题描述】:

我是 JS 和 JQuery 的新手——我曾经在 80 年代进行基础编程,虽然我对变量和数组有一个粗略的了解,但我承认我没有掌握 js 中的所有括号。 我很了解 CSS 和 HTML。

通过谷歌搜索,我几乎得到了我想要的,即一行文本从 R 移动到 L,淡化和换行来做同样的事情。可能有 4 个这样的文本行这样做并无限重复。

为了更快的测试,我缩短了延迟。

我无法做到的一件事是在动画重新开始之前重置 CSS left:400px。

我不知道该放什么或放哪里,但我已经在很多地方尝试了所有这些! 我用 hello World 向我展示了代码在哪里被激活,它没有帮助。

//function reset(this){  $(this).removeAttr('style');}
//$(this).css('left', '500');
//$(elements).css('left', '500');
//removeAttr( 'style' );
//$("elements").removeAttr("style");
//$("#elements").removeAttr("style");
 //.text("Hello World");
//$("#Test1").text("Hello, world!");

我对 JQuery 还不是很了解,但我已经在包括这里在内的几个问答网站上看到了我使用的大部分代码,我将一些 cmets 复制到代码中以帮助我了解正在发生的事情。 我做了我的第一个 jsfiddle 来显示代码。它立即开始

http://jsfiddle.net/Stingraynut/Bf49z/3/

我希望这里有人可以帮助我在 4 个动画之后将 CSS 重置回 left:400px。目前第一组4个作品然后文字都出现卡在屏幕左侧,它们不会回到左侧:400px

罗伯

【问题讨论】:

    标签: jquery css reset


    【解决方案1】:

    很多 jQuery 函数都有一个 callback function。在这种情况下特别有用的是.fadeOut() 函数的回调。通过更改回调函数中的 CSS,可以在过渡后将其移回。

    $self.fadeOut(200, function(){
         $(this).css("left", "400px");   
     });
    

    JSFiddle

    【讨论】:

    • 我只是在每次调用函数时将所有 div 重置为左 400px。不确定这是否是正确的方法。 jsfiddle.net/Bf49z/5
    • 好的,但它不再淡出。你有没有看我的小提琴?它完全按照您的要求执行。你正在做的问题是你在它淡出之前 移动它。每次调用该函数时,您都在移动所有元素。如果你把移动放在回调中(就像我的回答一样),它会先淡出然后移动。
    • 哦,好的,知道了。谢谢。
    • 非常感谢大卫,我还有很多东西要学。一个叫 noobcode 的人也回答了,看起来你以为他是我,但他不是!当文本第一次出现时,它会在第一个位置停留片刻,我希望它在淡入时移动。那是“缓动”功能吗?我将如何添加它,或者如果没有,我怎样才能让文本在淡入时移动?我改了js fiddle让时间变长了,所以效果更明显了。最终,我希望它在褪色前在左侧停止 3 秒。 jsfiddle.net/Stingraynut/Bf49z/8
    • 大卫,是的!这正是我的目标,非常感谢。Callback 解释的链接是我读过的网站,但犯了错误并了解如何做更有意义。我把我的剧本和你的剧本放在一起,看看你做了什么,因为它基本上是一个完整的重写。感谢每一行旁边的 cmets,它确实帮助我注意到 CSS ‘display’ 现在是 ‘inline-block’ 和 ‘opacity:0; ' 被添加。没有问题的余地,所以开始了一个新线程stackoverflow.com/questions/22291054/…
    猜你喜欢
    • 2014-03-16
    • 1970-01-01
    • 2021-10-03
    • 2019-02-12
    • 2014-04-01
    • 2014-07-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多