jquery - 防止 jquery 在 fadeOut() 之后重置背景图像

标签 jquery html css web

我正在用 jquery 做一些 fadeIn 和 fadeOut。最后的淡入淡出(fadeOut())淡出整个css表格,转到css body背景图片。我已将背景位置设置为居中。 Jquery 在动画完成后将图像重置到左下角的位置。我正在寻找防止这种情况并将背景图像保持为中心。

我尝试将所有内容都放在图形包装器中而不是正文中,这就是 <figure> 的原因标签。当我尝试这样做时,动画结束后屏幕完全变白。

HTML & jquery:

<html>
<head lang="en">
    <link type="text/css" rel="stylesheet" href="site.css" media="screen">
    <script type="text/javascript" src="jquery.js"></script>
    <meta charset="UTF-8">
    <script>
        $(document).ready(function() {
            $(".firstFade").fadeIn(5000).delay(10000).fadeOut(7000);
            $(".secondFade").delay(6000).fadeIn(5000).delay(3000).fadeOut(1000);
            $("#tableCell5Text").delay(14500).fadeOut(1000);
            $(".container").delay(15000).fadeOut(7000);
        });
    </script>
</head>
<body>
    <figure id="pathImg">
        <div class="container" id="table">
            <div class="container containerRow" id="tableRow">
                <div class="container containerCell" id="tableCell">
                    <img src="images/img1.jpg" alt="" width="150" height="150" class="hidden firstFade" id="img1">
                </div>
            </div>
            <div class="container containerRow" id="tableRow2">
                <div class="container containerCell" id="tableCell2">
                    <img src="images/img2.png" alt="" height="85" width="77" class="hidden firstFade" id="img2">
                </div>
            </div>
            <div class="container containerRow" id="tableRow3">
                <div class="container containerCell" id="tableCell3">
                    <p class="hidden firstFade" id="tableCell3Text">some text</p>
                </div>
            </div>
            <div class="container containerRow" id="tableRow4">
                <div class="container containerCell" id="tableCell4">
                    <h2 class="hidden secondFade" id="tableCell4Text">some text</h2>
                </div>
            </div>
            <div class="container containerRow" id="containerRow5">
                <div class="container containerCell" id="containerCell5">
                    <h1 id="tableCell5Text">some text</h1>
                </div>
            </div>
    </div>
    </figure>
</body>

CSS:

* {
  margin: 0;
  padding: 0;
}

body {
  margin: 0;
  padding: 0;
}

#pathImg {
  margin: 0;
  padding: 0;
  background-image: url(images/sunnySkies.jpg);
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
}

.hidden {
  display: none;
}

#table {
  display: table;
  height: 100vh;
  width: 100vw;
  text-align: center;
  background-color: #ffffff;
}

.containerRow {
  display: table-row;
}

.containerCell {
  display: table-cell;
}

#tableCell {
  height: 20vh;
}

#tableCell2 {
  height:   15vh;
  vertical-align: middle;
}

#tableCell3 {
  height: 10vh;
  vertical-align: top;
}

#tableCell4 {
  height: 5vh;
  vertical-align: top;
}

#tableCell3Text {
  font-family: 'Tangerine', cursive;
  font-size: 300%;
  color: #444444;
}

#tableCell4Text {
  font-family: arial;
  color: #444444;
}

#tableCell5Text {
  font-family: arial;
  color: #444444;
}

#img1 {
  margin: 5vh 0 0 0;
  padding: 5px;
  border: 2px solid #444444;
  border-radius: 5px;
  background-color: gray;
}

最佳答案

实际上,在没有数字的情况下,它对我来说似乎工作正常。但是,如果您使用的是图形,那么问题是您正在淡化 .container 将其设置为 display:none ,这将消除所有高度。你需要在页面上留下一些东西,这样一切都不会崩溃。最后, body 没有高度,这就是你得到白屏的原因。所以我们要做的是获取最大图像的高度,并将 body 设置为淡出前的高度。

将你的 JQuery 改成这个

 $(".firstFade").fadeIn(5000).delay(10000).fadeOut(7000);
 $(".secondFade").delay(6000).fadeIn(5000).delay(3000).fadeOut(1000);
 $("#tableCell5Text").delay(14500).fadeOut(1000);
 var $height = $("#table").height();
 $("body").height($height);
 $(".container").delay(15000).fadeOut(7000);

关于jquery - 防止 jquery 在 fadeOut() 之后重置背景图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43080534/

相关文章:

javascript - Firefox:按 Shift 或 CTRL 时未选中 JQuery-UI 复选框

javascript - 在 Internet Explorer 中播放 HTML 音频?

jquery - 不使用 id 的 Javascript 日期选择器

javascript - 我应该将什么脚本添加到下面的代码中,以便在滚动时添加事件类?

javascript - 在 JavaScript 对象中移动并在每次点击时递增 1?

javascript - this 与函数的强制绑定(bind)

javascript - 单击太快时脚本滞后 [jQuery]

html - TinyMCE 辅助功能 : Label For

html - 溢出 :scroll hidden; property with position absolute is not working on Iphone

html - 在 PHP 脚本中断行(回显图像)