javascript - 淡入/淡出 div 中的文本

标签 javascript jquery html css

我想知道如何让包含文本的 div 在向下滚动页面时从下到上淡入淡出?我将感谢你的帮助。这是我的代码:

var $text = $('.textBlock');
$(window).on('scroll', function(event, element) {
  $text.each(function(event, element) {
    if ($(this).visible()) {
      $(this).children('p').stop().fadeIn();
    } else {
      $(this).siblings('.textBlock p').stop().fadeOut();
    }
  });
});
.textBlock {
  text-align: center;
  width: 100%;
  height: 118px;
  float: left;
  display: block;
}
.textBlock p {
  font-size: 24px;
  padding: 30px 0;
  line-height: 25px;
  letter-spacing: 0.1em;
  display: none;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<div id="blockOne" class="textBlock">
  <p>Lorem ipsum dolor sit Amet, consectetuer adipiscing.</p>
</div>
<div id="blockTwo" class="textBlock">
  <p>Lorem ipsum dolor sit Amet, consectetuer adipiscing.</p>
</div>
<div id="blockThree" class="textBlock">
  <p>Lorem ipsum dolor sit Amet, consectetuer adipiscing.</p>
</div>

最佳答案

你需要为此使用定时器功能。检查一下:

$(function () {
  $(".textBlock").hide();
  $("#blockOne").show();
  $(window).scroll(function () {
    numTextBlocks = $(".textBlock").length;
    $(".textBlock:visible").fadeOut(400, function () {
      console.log(".textBlock:nth-child(" + ($(window).scrollTop() * 10) % numTextBlocks + ")");
      $(".textBlock:nth-child(" + ($(window).scrollTop() * 10) % numTextBlocks + ")").fadeIn(400);
    });
  });
});
html, body {
  height: 150%;
}
.textBlock {
  position: fixed;
  text-align: center;
  width: 100%;
  height: 118px;
}
.textBlock p {
  font-size: 24px;
  padding: 30px 0;
  line-height: 25px;
  letter-spacing: 0.1em;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<div id="blockOne" class="textBlock">
  <p>One Lorem ipsum dolor sit Amet, consectetuer adipiscing.</p>
</div>
<div id="blockTwo" class="textBlock">
  <p>Two Lorem ipsum dolor sit Amet, consectetuer adipiscing.</p>
</div>
<div id="blockThree" class="textBlock">
  <p>Three Lorem ipsum dolor sit Amet, consectetuer adipiscing.</p>
</div>

关于javascript - 淡入/淡出 div 中的文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32047639/

相关文章:

html - 无法找出带换行符的正则表达式 - HTML

javascript - 获取两个数组并仅返回唯一值

javascript - 使用 HTML 和 Javascript 的表单

jquery - 使用 JQuery 插件动态创建 HTML

javascript - 如何激活 jQuery Accordion 菜单?

javascript - jQuery Cycle - IE 不立即加载图像(发生闪烁)

html - Bootstrap 模态关闭按钮在较小的屏幕上不起作用

javascript - Wicket 6 JavaScript 引用不在 head 中

javascript - 在 extjs 中为 DOM 操作分配 tpl 值

javascript - <a href> 可以接受多个参数吗?