Javascript 如何在向下滚动时添加不同的徽标?
我已经做了一个页面,其中有一个透明的标题和白色的标志。 但当我向下滚动时,我的徽标不可见,因为车身颜色为白色。我想在向下滚动时添加黑色徽标。怎么做 这是我的密码Javascript 如何在向下滚动时添加不同的徽标?,javascript,css,Javascript,Css,我已经做了一个页面,其中有一个透明的标题和白色的标志。 但当我向下滚动时,我的徽标不可见,因为车身颜色为白色。我想在向下滚动时添加黑色徽标。怎么做 这是我的密码 $(window).on('scroll', function () { if ($(this).scrollTop()) { $('.navbar').addClass("shrink"); //$('.navbar-brand img').attr('src', 'images/logo.png'); }else{
$(window).on('scroll', function () {
if ($(this).scrollTop()) {
$('.navbar').addClass("shrink");
//$('.navbar-brand img').attr('src', 'images/logo.png');
}else{
$('.navbar').removeClass("shrink");
//$('.navbar-brand img').attr('src', 'images/logo.png');
}
});
但是它不起作用看看这个,它会帮你的
$(函数(){var logo=$(“.lrg logo”);$(窗口)。滚动(函数(){
var scroll=$(窗口).scrollTop();
如果(滚动>=500){
如果(!logo.hasClass(“sml logo”)){
logo.hide();
logo.removeClass(“lrg-logo”).addClass(“sml logo”).fadeIn(“慢”);
}
}否则{
如果(!logo.hasClass(“lrg logo”)){
logo.hide();
logo.removeClass(“sml logo”).addClass(“lrg-logo”).fadeIn(“慢”);
}
}
});
});代码>
.wrapper{
高度:2000px;
位置:相对位置;
背景:绿色;
}
标题{
位置:固定;
宽度:100%;
高度:50px;
背景:灰色;
}
.lrg标志{
宽度:300px;
高度:50px;
文本对齐:居中;
背景:红色;
}
.sml标志{
宽度:200px;
高度:20px;
文本对齐:居中;
背景:红色;
}
标志
您需要添加滚动量。用这个替换你的代码
$(window).on('scroll', function () {
if ($(this).scrollTop() > 70) { // Set position from top
$('.navbar').addClass("shrink");
//$('.navbar-brand img').attr('src', 'images/logo.png');
}else{
$('.navbar').removeClass("shrink");
//$('.navbar-brand img').attr('src', 'images/logo.png');
}
});
希望它能起作用。谢谢 scrollTop
将返回一个值,而此行if($(this).scrollTop())
将查找布尔值
因此,在循环条件中测试该值
if ($(this).scrollTop()===someNumber) {
//rest of code
}
试试这个:
$(窗口)。滚动(函数(){
如果($(this).scrollTop()>70){
$('#header img').attr('src','https://upload.wikimedia.org/wikipedia/commons/thumb/f/fa/Apple_logo_black.svg/600px-Apple_logo_black.svg.png');
}
否则{
$('#header img').attr('src','https://www.seeklogo.net/wp-content/uploads/2012/12/apple-logo-eps-logo-vector-400x400.png');
}
})
正文{
高度:1500px;
}
#标题{
高度:70像素;
背景色:#ccc;
位置:固定;
宽度:100%;
左:0;
排名:0;
}
#收割台img{
宽度:50px;
}
谢谢兄弟,工作顺利。:)别忘了删除注释行(我很高兴:)@dipankardas此解决方案存在问题<代码>滚动
事件随页面中的每个滚动动作一起激发。如果您从scrollTop=90
移动到scrollTop=120
,您的条件将得到满足,img更换代码将运行,即使它不应该运行,因为徽标已经更改。您需要添加一些控件,以便仅当值从<70变为>70时检测更改,或者当值从<70变为>70时检测更改。如果$(this).scrollTop()
从未获取值someNumber
,该怎么办?当使用鼠标滚轮滚动时,scrollTop
的值将跳跃大约25个单位,因此可能永远不会满足条件,即使用户实际滚动到OP希望更改徽标的点以下。