javascript - jquery- 改变 css 但不能重置为 original-fadein() 导致程序也停止工作

标签 javascript jquery css fadein

我正在尝试将背景颜色更改为蓝色,并使其淡入淡出。我还希望在单击按钮时背景颜色恢复正常(这是一个游戏,当您单击再次播放按钮时,游戏正在重置,并且您从头开始)。

我如何将背景色改回原来的颜色——我是否可以在单击重播按钮时调用的函数中执行此操作?我如何将其恢复正常?

另外,fadein() fadeout() 会导致游戏停止运行。所以在 fadein 之后,fadeout 没有任何作用了..

有什么建议吗?谢谢!!

$('#results').append("<p>You won! 
</p>").appendTo('#results').css({fontSize:'40px'}).fadeIn().fadeOut().fadeIn().fadeOut().fadeIn().fadeOut().fadeIn().fadeOut 
();
 $('body').css({'background-color': 'blue'});

最佳答案

我不确定这是否是您想要的行为,而且我们无法从您发布的内容中判断是什么导致您的代码停止,但这是我尝试过的:

$('#playBtn').click(function() {
    var number_of_fadings = 4;

    $('#playBtn').hide();
    $('#results').append("<p>You won!</p>");

    (function doFadeInOut() {
        $('#results').fadeIn().fadeOut(function() {
            number_of_fadings--;
            if (number_of_fadings > 0) { doFadeInOut(); }
            else { $('#restartBtn').show(); }
        });
    })();

    $('body').css({ 'background': '#09f' });
});

$('#restartBtn').click(function() {
    $('body').css({ 'background': '#fff' });
    $('#playBtn').show();
    $('#restartBtn').hide();
    $('#results').empty();
});
body{ font-family: Arial, Helvetica, sans-serif; }
#restartBtn, #results { display: none; }
#results p{ padding: 1em; font-size: 2em; text-align: center; color: #fff; }
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<button id="playBtn">Play</button>
<button id="restartBtn">Restart the game</button>
<div id="results"></div>

关于javascript - jquery- 改变 css 但不能重置为 original-fadein() 导致程序也停止工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37355213/

相关文章:

javascript - 通过id属性的部分值获取div

javascript - .change jQuery 不改变数据

css - 内联 block 的缺点

javascript - 从文件中提取 AJAX

javascript - 从 Chrome 扩展中的弹出 .html 文件运行后台 .js 文件中的函数

javascript - 基于文本输入扩展圆圈

css - 在不破坏 CSS 的情况下使用基于 Bootstrap 的 AngularJS 库

javascript - 可以在路由器内部使用multer吗?

"back to top"功能的 Jquery 问题/需要刷新

javascript - 如何使颜色选择器粘/捕捉到某些值