首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >jQuery fadeIn(),fadeOut() 2文本

jQuery fadeIn(),fadeOut() 2文本
EN

Stack Overflow用户
提问于 2011-05-17 15:36:09
回答 3查看 5.9K关注 0票数 1

如何使用fadeIn()和fadeOut() jQuery效果更改2个文本?

下面是一个例子:苹果网站。在iPhone图片下面是一个框,“热门新闻标题”。看到新闻有什么变化了吗?一段文字逐渐消失,然后逐渐消失,而另一段文字即将到来。

我是jQuery新手,所以请给出详细的代码。谢谢!

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2011-05-17 16:23:04

假设您的html是这样的:

代码语言:javascript
运行
复制
<div>
    <div class='fadey'>1</div>
    <div class='fadey'>2</div>
    <div class='fadey'>3</div>
</div>

你可以这样做:

代码语言:javascript
运行
复制
var faderIndex = 0, //to keep track
    faders = $('.fadey'); //cache, so we won't have to walk the dom every time

function nextFade() {

    //fade out element over 1000 milliseconds, after which call a function
    $(faders[faderIndex]).fadeOut(1000, function() {

        //increase the index and do a check, so we won't overflow
        faderIndex++;
        if (faderIndex >= faders.length)
            faderIndex = 0;

        //fade in the next element, after which call yourself infinitely
        $(faders[faderIndex]).fadeIn(1000, nextFade);
    });
}
//get the ball rolling
nextFade();

实例:http://jsfiddle.net/gpQYW/

票数 2
EN

Stack Overflow用户

发布于 2011-05-17 16:38:13

考虑以下HTML:

代码语言:javascript
运行
复制
<span class="rotateText">Test</span>
<div class="rotateArray">
    <a href="http://www.google.com">Google.com</a>
    <a href="http://www.microsoft.com">Microsoft.com</a>
    <a href="http://stackoverflow.com">Stackoverflow.com</a>
    <a href="http://www.wired.com">Wired.com</a>
</div>

剧本:

代码语言:javascript
运行
复制
   $(function () {
        // set first
        $('.rotateText').html($('.rotateArray a').eq(0));
        // enter loop
        rotateText();
    });

    function rotateText() {         
        var count = $('.rotateArray a').length;
        var i = 0;
        var loopArr = $('.rotateArray a');
        var rotationElm = $('.rotateText');
        window.setInterval(function () {
            rotationElm
                    .fadeOut(400)
                    .queue(function () {
                        $(this).html('<a href="' + loopArr.eq(i).attr('href') + '">' + loopArr.eq(i).text() + '</a>');
                        if (++i == count) i = 0;                           
                        $(this).dequeue();
                    })
                    .fadeIn(400)
                    ;
        }, 4000);

    }
票数 1
EN

Stack Overflow用户

发布于 2011-05-17 15:40:45

您可以使用.fadeOut()函数的回调来更改HTML,然后将其淡入,因为中间会闪烁:

代码语言:javascript
运行
复制
$('#foo').fadeOut(500, function() {
  $(this).html('<span>Bar</span>');
  $(this).fadeIn(500);
});
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6033329

复制
相关文章

相似问题

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