如何在菜单部分滚动后线性显示背景颜色
How to display background color linearly after scrolling on menu section?
我必须在菜单上滚动后显示线性背景色。在当前部分没有背景色,但滚动后应该显示背景色。我怎样才能做到这一点呢?
//jQuery to collapse the navbar on scroll
$(window).scroll(function() {
if ($(".entry_section").offset().top > 50) {
$(".scroll-menu").addClass("scroll-menu-padding");
$(".scroll-menu").addClass("fixed-entry-field-scroll-bg");
} else {
$(".scroll-menu").removeClass("scroll-menu-padding");
$(".scroll-menu").removeClass("fixed-entry-field-scroll-bg");
}
});
body{
height: 900px;
}
.entry_section
{
position: fixed;
top: 0;
left: 0;
right: 0;
height: 0;
text-align: center;
}
.fixed-entry-field
{
display: inline-block;
color: red;
}
.fixed-entry-field-scroll-bg
{
background-color: #000;
width: 100%;
padding: 25px 0;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>
<div class="entry_section scroll-menu" >
<div class="fixed-entry-field">
<p>linear background color after scrolling</p>
</div>
</div>
当你在固定元素上添加height: 0;
时,它看起来很奇怪,这样当你应用padding: 25px
时,它会将内容向下推,得到你提到的非线性效果。
通过简单地移除约束,您可以在滚动时在菜单上获得所需的效果。
查看更新后的代码片段,查看完整的行为。
PS:如果你想保持高度不变,只需删除20px的填充在你的.fixed-entry-field-scroll-bg
类,它会做的技巧。
//jQuery to collapse the navbar on scroll
$(window).scroll(function() {
if ($(".entry_section").offset().top > 50) {
$(".scroll-menu").addClass("scroll-menu-padding");
$(".scroll-menu").addClass("fixed-entry-field-scroll-bg");
} else {
$(".scroll-menu").removeClass("scroll-menu-padding");
$(".scroll-menu").removeClass("fixed-entry-field-scroll-bg");
}
});
body{
height: 900px;
}
.entry_section
{
position: fixed;
top: 0;
left: 0;
right: 0;
text-align: center;
}
.fixed-entry-field
{
display: inline-block;
color: red;
}
.fixed-entry-field-scroll-bg
{
background-color: #000;
width: 100%;
padding: 25px 0;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>
<div class="entry_section scroll-menu" >
<div class="fixed-entry-field">
<p>linear background color after scrolling</p>
</div>
</div>
检查css部分。fixed-入口-field-scroll-bg这里我使用过渡效果和线性渐变的颜色LiveFiddle。欲了解更多细节,请阅读线性梯度&对于过渡效果。
//jQuery to collapse the navbar on scroll
$(window).scroll(function() {
if ($(".entry_section").offset().top > 50) {
$(".scroll-menu").addClass("scroll-menu-padding");
$(".scroll-menu").addClass("fixed-entry-field-scroll-bg");
} else {
$(".scroll-menu").removeClass("scroll-menu-padding");
$(".scroll-menu").removeClass("fixed-entry-field-scroll-bg");
}
});
body{
height: 900px;
}
.entry_section
{
position: fixed;
top: 0;
left: 0;
right: 0;
height: 0;
text-align: center;
}
.fixed-entry-field
{
display: inline-block;
color: red;
}
.fixed-entry-field-scroll-bg
{
/* For browsers that do not support gradients */
background: red;
/* Standard syntax */
background: linear-gradient(#000, #bbb);
/* For Safari this the part */
-webkit-transition: width 0.7s, height 0.8s;
transition: width 0.7s, height 0.8s;
width: 100%;
height: 75px;
padding: 25px 0;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>
<div class="entry_section scroll-menu" >
<div class="fixed-entry-field">
<p>linear background color after scrolling</p>
</div>
</div>
相关文章:
- 从桌面读取python文件时高亮显示代码
- 使用JS如何动态更改显示的html文件中的文本背景颜色
- 如何在生成下载文件时显示加载动画
- React重新渲染但未显示正确的组件
- nodejs-expressjs上传图像并显示它们
- 使用JSP从服务器检索和显示图像
- 音频控件在mouseover上显示,在mouseout上淡出
- 让文本输入幻灯片显示输入时的新文本输入?然后向后滑动
- 使用电话间隙在Android应用程序中显示SQL Lite的数据
- 显示5秒后隐藏潜水
- 画廊图像未显示
- 不显示带有本地json文件数据的谷歌地图脚本
- 如何将json数据显示为html
- 谷歌地图不是以HTML显示,而是在JS Fiddle上工作
- 如何将数据显示为线性highChart
- 是否可以在剑道UI线性仪表上仅显示最大值/最小值
- javascript在显示线性日历时不执行(仅在所有版本的IE上)
- 线性梯度显示在选择
- 如何在菜单部分滚动后线性显示背景颜色
- Highcharts线性图表与y轴显示秒和分钟