javascript - 滚动和窗口加载或调整大小时导航栏更改
问题描述
我有这个问题,我无法正常工作。
我有一个必须在滚动时更改的导航栏(这部分工作正常)但是当窗口/视口 < 991px 时它也必须更改。
它确实有效,但我必须滚动才能应用效果。这是我的代码:
$(document).ready(function()
{
var $navbar = $('.navbar');
// ----------
$(function()
{
$(window).scroll(function()
{
if(($(window).scrollTop() > 60 && $(window).on('load resize').width() > 992) || ($(window).on('load resize').width() < 992))
{
$navbar.addClass("compressed");
}
else
{
$navbar.removeClass("compressed");
}
});
});
});
如果我缩小浏览器,什么也不会发生。在第一次滚动时,它可以正常工作。加载或调整窗口大小时应该如何触发它?
谢谢!
解决方案
只需替换这个:
$(window).scroll(function() {...});
有了这个:
$(window).on("load scroll resize", function() {...});
这将导致在任何列出的事件上调用该函数。
推荐阅读
- layout - cytoscape中如何根据不同的边缘颜色来布局连接?
- laravel - 用逗号从laravel中的多个选择中分隔每个值
- c# - 关于取消使用密码提取文件夹但创建空白文件夹的问题
- javascript - 设计html视频的问题-如何停止视频缓冲
- linux - 使用 Bash 处理字符串时,如何根据逗号是否被某些特定字符包围而区别对待?
- ruby-on-rails - 如何设置 AWS S3 以在 ruby on rails 应用程序上运行视频
- ruby-on-rails - 在 Kubernetes 中配置 Rails 应用程序
- sql-server - 提供程序:SQL 网络接口,错误:52-无法找到本地数据库运行时安装
- dynamics-crm - 无法使用工作流在 Dynamics 365 中的电子邮件活动中设置队列
- php - 用户离线时如何触发广播事件