首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使两行文字相形见绌

使两行文字相形见绌
EN

Stack Overflow用户
提问于 2014-02-13 12:51:38
回答 3查看 334关注 0票数 2

我是jQuery的新手,我正在开发一个文本推载机。这是一个结构:

HTML:

代码语言:javascript
复制
            <section id="header-fader">
    <h2 id="h2-1" class="fader-h2 fader-all">Title 1</h2>
    <p id="p-1" class="fader-p fader-all">text 1</p>    

    <h2 id="h2-2" class="fader-h2 fader-all">title 2</h2>
    <p id="p-2" class="fader-p fader-all">text 2</p>    

    (more h2 and p goes here)

    </section>

jQUery

代码语言:javascript
复制
$(document).ready(function() {

$('#h2-1').delay(1000).fadeIn(2000);
$('#p-1').delay(3000).fadeIn(2000);
$('fader-all').delay(5000).fadeOut(2000);


$('#h2-2').delay(8000).fadeIn(2000);
$('#p-2').delay(10000).fadeIn(2000);
$('.fader-all').delay(1000).fadeOut(2000);

(more goes here)

});

这个想法是h2和p一个接一个地到fadeIn,然后两者同时到fadeOut。

到目前为止,我已经完成了半衰期

逐渐消失,但它们却一次又一次地淡出,而不是同时消失。它看起来很难看,因为当h2消失的时候,它会使p的空间跳起来--这不是我想在我的网站上看到的东西。

我做错了什么?我已经坚持了好几天了,我一直在推迟,把注意力集中在页面的其他方面,但现在是时候开始工作了。

帮助感激!

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2014-02-13 13:05:49

您可以同时添加延迟和淡出,比如这个演示

代码语言:javascript
复制
$(document).ready(function () {

    $('#h2-1').delay(1000).fadeIn(2000).delay(2000).fadeOut(2000);
    $('#p-1').delay(3000).fadeIn(2000).fadeOut(2000);


    $('#h2-2').delay(8000).fadeIn(2000).delay(2000).fadeOut(2000);
    $('#p-2').delay(10000).fadeIn(2000).fadeOut(2000);

});

而且,如果你想让它们从一开始就消失,它们应该从一开始就被隐藏起来。我已经将style="display:none;"添加到了小提琴中的所有元素中,但是您也可以使用jQuery来处理它。

票数 1
EN

Stack Overflow用户

发布于 2014-02-13 12:59:24

首先,您应该使用绝对位置,这样它们就不会从应该在的位置跳过/move。

那么,它不能同时处理两种褪色的原因是因为你使用个人的id来使它们淡入,所以请坚持把它们淡出。我在下面修正了这一点,并设置了时间,这样它们就会同时淡出。

代码语言:javascript
复制
$(document).ready(function() {

$('#h2-1').delay(1000).fadeIn(2000);
$('#p-1').delay(3000).fadeIn(2000);
$('#h2-1').delay(2000).fadeOut(2000);
$('#p-1').fadeOut(2000);

$('#h2-2').delay(8000).fadeIn(2000);
$('#p-2').delay(10000).fadeIn(2000);
$('#h2-2').delay(2000).fadeOut(2000);
$('#p-2').fadeOut(2000);

});
票数 2
EN

Stack Overflow用户

发布于 2014-02-13 13:05:02

我做了一个jsFiddle 这里

守则:

代码语言:javascript
复制
var hDelay = 1000,
    pDelay = 3000,
    fadeOutDelay = 6000;

$('#h2-1').delay(hDelay).fadeIn(2000);
$('#p-1').delay(pDelay).fadeIn(2000);

$('#h2-1').delay(fadeOutDelay - hDelay).fadeOut(2000);
$('#p-1').delay(fadeOutDelay - pDelay).fadeOut(2000);
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21754796

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档