难以使用Javascript切换媒体查询
Difficulty toggling media query using Javascript
链接到网站
我试图格式化上述网站上的菜单,当它处于粘性模式(即向下滚动),因为在某些宽度的请求报价按钮被屏幕遮挡。我只在屏幕向下滚动时使用Javascript来执行更改,并使用一个额外的CSS类来移动菜单。不幸的是,它没有工作-虽然我可以使用CSS直接应用到现有的类来移动菜单,但试图将其与JS联系起来,使其特定的滚动没有任何效果。
有谁能告诉我我哪里做错了吗?提前谢谢你。
Javascript<script type="text/javascript">
$ = jQuery;
$(function() {
//caches a jQuery object containing the header element
var header = $(".header-widget");
$(window).scroll(function() {
var scroll = $(window).scrollTop();
if (scroll >= 20) {
$(".header-widget").addClass("header-widget-shortheader");
$(".second-header-widget").addClass("second-header-widget-shortheader");
$(".navbar .nav").addClass(".stickyheader-midscreen-cta-fix");
} else {
$(".header-widget").removeClass("header-widget-shortheader");
$(".second-header-widget").removeClass(".second-header-widget-shortheader");
$(".navbar .nav").removeClass(".stickyheader-midscreen-cta-fix");
}
});
});
</script>
CSS /* -----Moves menu to avoid cutting off CTA button with sticky header on mid-sized screen (toggle with JS in 'Header & Footer')----- */
@media screen and (min-width: 980px) and (max-width: 1189px) {
.stickyheader-midscreen-cta-fix {
margin: 40px 22% 0 0;
float: right;
}
}
感谢Marian07的支持。这是我结束的地方:
/* -----Fixes menu CTA button being cut off by mid size screens----- */
@media screen and (min-width: 980px) and (max-width:1084px) {
.sticky-enabled .navbar-wrapper {
margin-left: 0;
}
.sticky-enabled .navbar-wrapper a {
padding-right: 9px!important;
padding-left: 8px!important;
font-size: 95% !important;
}
}
@media screen and (min-width: 1085px) and (max-width:1200px) {
.sticky-enabled .navbar-wrapper {
margin-left: 0;
}
.sticky-enabled .navbar-wrapper a {
padding-right: 3px!important;
padding-left: 25px!important;
}
}
问题在第6行:
$(window).scroll(function() {
(实际上没有在滚动时调用函数)
解决方案:
$(window).on('scroll', function() {
对于您的设计问题,您可以通过在文件末尾添加以下代码来减少某些屏幕尺寸的标题宽度:/wp-content/themes/customizr-child/style.css
@media screen
and (max-width:1200px)
and (min-width: 980px) {
.sticky-enabled .navbar-wrapper {
margin-left: 0;
}
.sticky-enabled .navbar-wrapper a {
padding-right: 7px!important;
padding-left: 7px!important;
}
}
删除。只使用类名
$(".navbar .nav").addClass(".stickyheader-midscreen-cta-fix");
代替$(".navbar .nav").addClass("stickyheader-midscreen-cta-fix");
$(".navbar .nav").removeClass(".stickyheader-midscreen-cta-fix");
代替$(".navbar .nav").removeClass("stickyheader-midscreen-cta-fix");
相关文章:
- 内部分区字体大小获胜'调整浏览器窗口大小时不会随媒体查询而更改
- 触发媒体查询断点时刷新页面
- 媒体查询/matchMedia上的脚本
- 使用按钮和媒体查询切换显示状态
- 加载dom后禁用媒体查询
- 将语句与jquery相结合,并使用媒体查询来实现返回页首按钮
- 媒体查询与Javascript相结合
- 访问CSS媒体查询中的屏幕宽度和高度
- 使用媒体查询和angular更改移动设备中ng href的值
- 媒体查询和调整现成的网站
- 有没有一种方法可以修改在使用javascript的媒体功能的媒体查询下创建的样式
- 如何使用EnquireJS使AngularJS范围变量依赖于媒体查询
- @媒体查询在桌面浏览器中有效,而在移动浏览器中无效
- css媒体查询请求后刷新jQuery插件
- jQuery.thoggle()和媒体查询
- 使用媒体查询设置背景图像的不透明度
- 媒体查询:如何仅定位平板电脑
- 如何将垂直选项卡式内容面板更改为具有媒体查询和 jquery 的响应式可折叠面板
- 根据浏览器屏幕大小和媒体查询执行 php 代码
- CSS 媒体查询 - 最小设备宽度和最大设备宽度