如何将.fadeIn()添加到此文本切换器

时间:2013-11-13 05:30:23

标签: jquery fadein fadeout

我最近发现了这个脚本:JS fiddle text swapper - 但我想添加一个漂亮的淡入淡出和淡出。

我想这是一个2部分问题。

  1. 我可以添加淡入淡出这种结构的方式吗?
  2. 我猜我还需要一个FadeOut?
  3. 非常感谢帮助!

    由于

    $(function() {
        $("#all-iso, #date-iso, #actor-iso, #film-iso").on("click", function(e) {
            var txt = "";
            switch ($(this).prop("id")) {
                case "all-iso":
                    txt = "ALLE NEWS";
                    break;
                case "date-iso":
                    txt = "DATUM";
                    break;
                case "actor-iso":
                    txt = "SCHAUSPIELER";
                    break;
                case "film-iso":
                    txt = "FILM";
                    break;
            }
            $("#news-h3-change").text(txt);
        })
    })
    

2 个答案:

答案 0 :(得分:5)

尝试

    $("#news-h3-change").fadeOut(function(){
        $(this).text(txt)
    }).fadeIn();

演示:Fiddle

我可能会建议使用data-*使它更好一点,比如

<ul id="iso">
    <li data-txt="ALLE NEWS">all-iso</li>
    <li data-txt="DATUM">date-iso</li>
    <li data-txt="SCHAUSPIELER">actor-iso</li>
    <li data-txt="FILM">film-iso</li>
</ul>

<h3 id="news-h3-change"></h3>

然后

$(function () {
    $("#iso > li").on("click", function (e) {
        var txt = $(this).data('txt');
        $("#news-h3-change").stop(true, true).fadeOut(function () {
            $(this).text(txt)
        }).fadeIn('slow');
    })
})

演示:Fiddle

答案 1 :(得分:0)

这是另一种方法JSFiddle

$(function() {
    $("#all-iso, #date-iso, #actor-iso, #film-iso").on("click", function(e) {
        var txt = "", id = $(this).prop("id");
        $('#news-h3-change').fadeOut('slow', function() {
            switch (id) {
            case "all-iso":
                txt = "ALLE NEWS";
                break;
            case "date-iso":
                txt = "DATUM";
                break;
            case "actor-iso":
                txt = "SCHAUSPIELER";
                break;
            case "film-iso":
                txt = "FILM";
                break;
            }
            $(this).text(txt);
            $("#news-h3-change").fadeIn('slow');
        });
    })
})