滚动后我需要我的标题来改变它的颜色。我知道在Stackoverflow上有很多类似问题的问题,但是我已经尝试了所有的解决方案而且都没有工作。有人能帮帮我吗?
HTML
<div class="header">HEADER</div>
CSS
.header {
background-color: red;
color: black;
width: 100%;
height: 80px;
position: fixed;
top: 0;
left: 0;
}
.header .change {
background-color: black;
color: red;
}
Jquery的
$(window).scroll(function() {
var scroll = $(window).scrollTop();
if(scroll >= 500) {
$(".header").addClass(".change");
} else {
$(".header").removeClass(".change");
}
});
答案 0 :(得分:10)
试试这种方式,
min-height
的css中设置最小高度以激活窗口滚动。.
移除addClass()
,例如addClass('header')
或removeClass('header')
; 删除额外的.header
班级表格.change
css班级
// CSS
body{
min-height:800px;
}
.header{
background-color: red;
color: black;
width: 100%;
height: 80px;
position: fixed;
top: 0;
left: 0;
}
.change{ //see here
background-color: black;
color: red;
}
// JS
$(window).scroll(function() {
var scroll = $(window).scrollTop();
//console.log(scroll);
if (scroll >= 50) {
//console.log('a');
$(".header").addClass("change");
} else {
//console.log('a');
$(".header").removeClass("change");
}
});
查看演示: https://jsfiddle.net/19bwe33x/12/
修改强>
$(window).scroll(function() {
var scroll = $(window).scrollTop();
var objectSelect = $("#change_header");
var objectPosition = objectSelect.offset().top;
if (scroll > objectPosition) {
$(".header").addClass("change");
} else {
$(".header").removeClass("change");
}
});
更新的FIDDLE: https://jsfiddle.net/19bwe33x/17/
答案 1 :(得分:2)
你快到了:
<强> SCRIPT:强>
$(window).scroll(function() {
var scroll = $(window).scrollTop();
if (scroll > 500) {
$(".header").addClass("change"); // you don't need to add a "." in before your class name
} else {
$(".header").removeClass("change");
}
});
<强> CSS:强>
.change{ // you don't need .header .change
background-color: black;
color: red;
}
答案 2 :(得分:1)
首先。首先,您需要提供min-height
,以便用户可以滚动。
第二:然后将$(".header").addClass(".change");
更改为$(".header").addClass("change");
第三次并从.header
.header .change
应用以下CSS:
body{
min-height:1000px;
}
.header{
background-color: red;
color: black;
width: 100%;
height: 80px;
position: fixed;
top: 0;
left: 0;
}
.change{
background-color: black;
color: red;
}
答案 3 :(得分:0)
改变这个:
.header .change {
到此:
.header.change {
请注意,我删除了空格。如果要在SAME元素上指示多个样式,则不应该有空格。该空格表示您要定位子元素上的样式。
答案 4 :(得分:0)
试试这个
$(window).scroll(function() {
var scroll = $(window).scrollTop();
$(".header").html(scroll);
if (scroll >= 500) {
$(".header").addClass("change");
} else {
$(".header").removeClass("change");
}
});
Css将是
.change{
background-color: black;
color: red;
}
答案 5 :(得分:0)
检查lin jsfiddle k
jquery是
$(window).scroll(function() {
var scroll = $(window).scrollTop();
if (scroll >= 100) {
$(".header").addClass("change"); // removed the . from class
} else {
$(".header").removeClass("change"); // removed the . from class
}
});
CSS
.header{
background-color: red;
color: black;
width: 100%;
height: 80px;
position:fixed;
top: 0;
left: 0;
}
.header.change{
background-color: black;
color: red;
}
.conetnt
{
height :800px; // this is just for scroll
}
HTML
<div class="header">HEADER</div>
<div class="conetnt"> // added this just to enable scrol
</div>