Tre*_*ent 5 javascript function
我正在尝试编写一个包含多个变量和函数的脚本。该脚本用于导航栏,它应该执行以下操作:
滚动时:将 bg 从透明更改为纯色,并更改徽标 img。
在小屏幕上:将 bg 从透明更改为纯色,并更改徽标 img。
问题是我可以让它与一个或另一个一起工作,但不能同时使用。发生的情况是调整大小在小屏幕上起作用,直到您向下滚动并向上滚动。当它到达顶部时,背景会恢复透明。
有没有办法在较小的屏幕上删除 scrollTop 功能?我觉得删除/禁用此功能可以解决问题。
* 有没有办法做这样的事情 * if (width < 786) { //REMOVE scrollTop;//?
我只是想弄清楚如果屏幕很小,如何删除 scrollTop 功能。
我尝试将这些函数放在单独的脚本中,并使用 @media css,这是迄今为止最接近工作的,但是当滚动到达顶部时,“绿色”标志消失了。
$(document).ready(function() {
$(window).scroll(function() {
$(window).resize(function() {
var height = $('.first-container').height();
var scrollTop = $(window).scrollTop();
var width = $(window).width();
if (scrollTop >= 0 || width < 768) {
$('.nav-container').addClass('solid-nav') &&
$('.navbar-brand img').attr('src','images/new-green-sm.png');
} else {
$('.nav-container').removeClass('solid-nav') &&
$('.navbar-brand img').attr('src','images/new-white-sm.png');
}
});
});
});
Run Code Online (Sandbox Code Playgroud)
当你想测试宽度时只需运行这个即可删除该功能。
if (width < 768) {
scrollTop = function(){};
};
Run Code Online (Sandbox Code Playgroud)