- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一条短信 <p>
和<h1>
。文本以 1 <h1>
结尾。我想将 <p>
的 Y 平移加速两倍当我到达文档的底部时(最后一个 h1 位于页面的中间),我希望 h1 保持在页面的中间。但我想要<p>
如果我向上滚动则向后滚动。
有没有一种简单的方法可以使用 jQuery 来做到这一点?我尝试了很多在网上找到的解决方案,但都没有令人满意。
$(window).scroll(function(){
var wScroll = $(document).scrollTop();
var b = $(document).height() - $(window).height();
var c = ($(document).height() - wScroll - $(window).height()) * 2;
var fade = 1 + c / 100;
var trigger = $('#last').offset().top - $(window).height() / 2;
if(wScroll > b) {
$(window).on('scroll', function() {
$('p').css({
'transform' : 'translateY('+ c +'px)',
'opacity' : ''+ fade +''
})
})
}
});
p, h1 {
font-family: Baskerville;
margin: auto;
max-width: 650px;
color: #333;
}
p {
font-size: 21px;
line-height: 33px;
max-width: 650px;
margin-top: 30px;
}
p:nth-child(2):first-letter {
font-family: Arial;
font-weight: 700;
float: left;
font-size: 72px;
line-height: 63px;
padding-right: 12px;
}
h1 {
font-size: 47px;
margin-top: 30px;
}
h1:last-child {
margin-bottom: 0px;
}
.container {
margin-top: 5%;
margin-bottom: 50vh;
}
<div class="container">
<h1>Hello!</h1>
<p>Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Nullam ornare dictum ligula. Maecenas elementum suscipit nisl. Cras imperdiet leo ac felis dictum luctus. Pellentesque odio nisi, accumsan nec, scelerisque sed, consectetuer nec, justo. Sed tortor sapien, suscipit id, pulvinar vel, elementum id, lorem. Nullam consectetuer risus sit amet nibh. Vestibulum consectetuer, quam vitae euismod volutpat, magna magna consectetuer dui, et accumsan magna dui non nibh. Morbi adipiscing consequat erat. Vivamus quis massa eget orci fermentum laoreet. Morbi posuere purus. Duis feugiat lacus vel nisi. Aliquam ipsum felis, pretium sed, vehicula vel, dictum eget, nibh. Morbi turpis nulla, luctus viverra, pretium in, suscipit vitae, purus.</p>
<p>Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Nullam ornare dictum ligula. Maecenas elementum suscipit nisl. Cras imperdiet leo ac felis dictum luctus. Pellentesque odio nisi, accumsan nec, scelerisque sed, consectetuer nec, justo. Sed tortor sapien, suscipit id, pulvinar vel, elementum id, lorem. Nullam consectetuer risus sit amet nibh. Vestibulum consectetuer, quam vitae euismod volutpat, magna magna consectetuer dui, et accumsan magna dui non nibh. Morbi adipiscing consequat erat. Vivamus quis massa eget orci fermentum laoreet. Morbi posuere purus. Duis feugiat lacus vel nisi. Aliquam ipsum felis, pretium sed, vehicula vel, dictum eget, nibh. Morbi turpis nulla, luctus viverra, pretium in, suscipit vitae, purus.</p>
<p>Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Nullam ornare dictum ligula. Maecenas elementum suscipit nisl. Cras imperdiet leo ac felis dictum luctus. Pellentesque odio nisi, accumsan nec, scelerisque sed, consectetuer nec, justo. Sed tortor sapien, suscipit id, pulvinar vel, elementum id, lorem. Nullam consectetuer risus sit amet nibh. Vestibulum consectetuer, quam vitae euismod volutpat, magna magna consectetuer dui, et accumsan magna dui non nibh. Morbi adipiscing consequat erat. Vivamus quis massa eget orci fermentum laoreet. Morbi posuere purus. Duis feugiat lacus vel nisi. Aliquam ipsum felis, pretium sed, vehicula vel, dictum eget, nibh. Morbi turpis nulla, luctus viverra, pretium in, suscipit vitae, purus.</p>
<h1 id="last">See ya!</h1>
</div>
<script
src="https://code.jquery.com/jquery-3.2.1.min.js"></script>
最佳答案
这是第一步。如果有人有更好的方法,我会采纳!
$(window).scroll(function(){
// Variables for last paragraph
var wScroll = $(this).scrollTop();
var bottom = ($(document).height() - wScroll - $(window).height()) / 2 ;
var fade = bottom / 100;
// Last paragraph: fading & scroll x 2
if(wScroll > $('#last').offset().top - $(window).height()){
var offset = wScroll - $('h1#last').offset().top + $(window).height();
// Select all the p, h1 et h2 but not those with id='last'
$('p, h1, h2').not('#last').css({
'transform': 'translateY(-' + offset * 0.4 +'px)',
'opacity' : fade
});
}
});
p, h1 {
font-family: Baskerville;
margin: auto;
max-width: 650px;
color: #333;
}
p {
font-size: 21px;
line-height: 33px;
max-width: 650px;
margin-top: 30px;
}
p:nth-child(2):first-letter {
font-family: Arial;
font-weight: 700;
float: left;
font-size: 72px;
line-height: 63px;
padding-right: 12px;
}
h1 {
font-size: 47px;
margin-top: 30px;
}
h1:last-child {
margin-bottom: 0px;
}
.container {
margin-top: 5%;
margin-bottom: 50vh;
}
<div class="container">
<h1>Hello!</h1>
<p>Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Nullam ornare dictum ligula. Maecenas elementum suscipit nisl. Cras imperdiet leo ac felis dictum luctus. Pellentesque odio nisi, accumsan nec, scelerisque sed, consectetuer nec, justo. Sed tortor sapien, suscipit id, pulvinar vel, elementum id, lorem. Nullam consectetuer risus sit amet nibh. Vestibulum consectetuer, quam vitae euismod volutpat, magna magna consectetuer dui, et accumsan magna dui non nibh. Morbi adipiscing consequat erat. Vivamus quis massa eget orci fermentum laoreet. Morbi posuere purus. Duis feugiat lacus vel nisi. Aliquam ipsum felis, pretium sed, vehicula vel, dictum eget, nibh. Morbi turpis nulla, luctus viverra, pretium in, suscipit vitae, purus.</p>
<p>Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Nullam ornare dictum ligula. Maecenas elementum suscipit nisl. Cras imperdiet leo ac felis dictum luctus. Pellentesque odio nisi, accumsan nec, scelerisque sed, consectetuer nec, justo. Sed tortor sapien, suscipit id, pulvinar vel, elementum id, lorem. Nullam consectetuer risus sit amet nibh. Vestibulum consectetuer, quam vitae euismod volutpat, magna magna consectetuer dui, et accumsan magna dui non nibh. Morbi adipiscing consequat erat. Vivamus quis massa eget orci fermentum laoreet. Morbi posuere purus. Duis feugiat lacus vel nisi. Aliquam ipsum felis, pretium sed, vehicula vel, dictum eget, nibh. Morbi turpis nulla, luctus viverra, pretium in, suscipit vitae, purus.</p>
<p>Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Nullam ornare dictum ligula. Maecenas elementum suscipit nisl. Cras imperdiet leo ac felis dictum luctus. Pellentesque odio nisi, accumsan nec, scelerisque sed, consectetuer nec, justo. Sed tortor sapien, suscipit id, pulvinar vel, elementum id, lorem. Nullam consectetuer risus sit amet nibh. Vestibulum consectetuer, quam vitae euismod volutpat, magna magna consectetuer dui, et accumsan magna dui non nibh. Morbi adipiscing consequat erat. Vivamus quis massa eget orci fermentum laoreet. Morbi posuere purus. Duis feugiat lacus vel nisi. Aliquam ipsum felis, pretium sed, vehicula vel, dictum eget, nibh. Morbi turpis nulla, luctus viverra, pretium in, suscipit vitae, purus.</p>
<h1 id="last">See ya!</h1>
</div>
<script
src="https://code.jquery.com/jquery-3.2.1.min.js"></script>
关于javascript - 滚动相关的淡入和淡出文本一旦达到某个点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42990611/
我正在尝试剪切和淡出 mp3 文件的最后 4 秒: avconv -i SPEX_pilot_02.mp3 -t 0:0:25 -filter:a fade=t=out:st=21:d=4 prete
我有一个连续的 HTML 元素列表。每个列表项都包含超链接内的图像,如下所示: 当您将鼠标悬停在列表项上时,我本质上想使用 jQuery 淡入包含链接标题的工具提示。因此,当您将
我有一个视频文件和一个音频文件。 我想将它们合并在一起,最终输出的视频将在视频的长度内,并将包含背景中的音频。 我做了: ffmpeg -i output.avi -i bgmusic.mp3 -fi
我有一个生成的超大图表,我将其放入 ScrollView,以便用户可以向右滚动并查看所有值。我想通过淡出 ScrollView 向用户表明右侧还有“更多内容”。通过应用 CAGradientLayer
我目前正在使用此代码来尝试使用具有 .info 类的按钮作为淡入和淡出文本的切换开关。现在动画正在与此代码连续运行。有没有一种方法可以让我单击按钮一次并使文本淡入,而不会在几秒钟后淡出?当您再次单击该
当我的 iPhone 界面旋转时,我想对 UIViewController 的特定 UIView 进行淡入/淡出...就像... - (void)willRotateToInterfaceOrient
所以事情就是这样。我看到这个网站:http://laneandassociates.co/english-mustard-scottish-oats我完全不明白他们是如何做到淡入淡出的。 其淡入淡出效
现在我有这个(只是增加标签的 alpha,中间有小中断): ae.getErrorLabel().setVisible(true); ae.getErr
我在 jQuery 中做了一些简单的 .hover(function() 语句。当我将鼠标悬停在文本上时,我只想要一个 #div.fadeIn,并且在非悬停时淡出。它有效。但这只是如果我发送垃圾邮件悬
我是 jQuery 新手,因此我正在不断学习。 在我创建的网站上,有两个功能似乎相互冲突:第一个功能是当用户开始滚动时网站标题会淡出,第二个功能是在 anchor 之间平滑滚动这一页。第二个脚本使淡出
我使用标题值在单击按钮时显示/隐藏一些 div。第一个按钮将仅显示具有 ab 值的 div,第二个按钮将显示所有 div。一切(有点)都有效,但是当显示所有 div 时,fadeOut/In 会产生令
我试图让一些文本淡出 1000 毫秒,等待 1000 毫秒,将文本更改为数组中的随机条目,然后淡入 1000 毫秒。文本应该在淡出之前不间断地停留 5 秒。 我已经设法更改文本,但我还没有找到如何使其
我收到一条错误消息,如果提交表单并返回错误,则会显示该消息。 表单检查.php jQuery('#error', window.parent.document).html( "There was
我有大约 20 张不同的图像,我想在 4 个框中淡入淡出。我需要它从图像列表中随机选择一个图像并显示它。 框示例 photo1、photo2、photo3、photo4 是它们的名称。它们需要根据其绝
我有一个 ID 为“blog-container”的包含 div,以及其中的一组子 div,其类为“blog-item”。 我想要做的是将“博客容器”中的所有“博客项目”一一淡出,一个接一个,然后以相
我找到并修改了一种创建文本到图像翻转的好方法,在这里:http://jsfiddle.net/pkZAW/12/ $( function() { $("#imglink").hover(
函数检查 session (){ $.ajax({url: "session.php", 成功: 函数(数据){ 如果(数据== 1){ var postFilen = 'msg.php'; $.po
需要一些建议:我想创建一个 fadeIn/fadeOut 脚本,它可以在页面滚动时响应地工作。我想做什么: 滚动时,一旦到达隐藏的 div,它就会淡入。 一旦滚动到达页面顶部,它就会淡出。 任何 fu
当 scrollToTop 超过 1000px 时,我有以下内容应该使 .secondLogo 出现(通过淡入) var secondLogo = $(".secondLogo"); $(window
我有一个音乐脚本,但是当我按下空格又名暂停按钮时,我希望它暂停它已经播放的音乐,但我希望它像 spotify 一样以淡入/淡出的方式播放 这是我到目前为止的代码: var play = true; v
我是一名优秀的程序员,十分优秀!