在wordpress中我开发了一个网站。在那我有两个侧边栏。在左侧边栏我有wordpress自定义菜单。因此,当页面向下滚动时,我希望左侧边栏菜单位于固定位置,所以我只是使用了这个jQuery
jQuery(document).ready(function () {
var top = jQuery('.widget_nav_menu').offset().top - parseFloat(jQuery('.widget_nav_menu').css('marginTop').replace(/auto/, 0));
//console.log(top);
jQuery(window).scroll(function(event) {
// what the y position of the scroll is
var y = jQuery(this).scrollTop();
//console.log(y);
// whether that's below the form
if (y >= top) {
// if so, ad the fixed class
jQuery('.widget_nav_menu').addClass('fixed');
} else {
// otherwise remove it
jQuery('.widget_nav_menu').removeClass('fixed');
}
});
});
当我的菜单上面有东西时,这工作正常。但是如果只有菜单那么内容是浮动部分正在合并菜单。现在,当您转到this live site时,您可以看到实际问题。 在此站点中,当您进入工资单软件页面并将滚动页面时,您可以看到左侧菜单将固定在顶部,因为我使用了jQuery。这没关系。但是,当您进入免费路径或购买页面并向下滚动页面时,您可以看到主要内容部分正在合并菜单。有人可以帮助我解决这个问题吗?任何帮助和建议都会非常值得赞赏。
注意 访问网站时,如果显示500错误,则只需刷新页面即可再次使用。
答案 0 :(得分:0)
这是因为您的左侧边栏只有一个孩子<aside>
,如果将旁边标记设置为固定,则它会消失在主内容容器中,因此#inner-page
div将向左移动。您必须找到一种方法,以便仍然有<aside>
标记(或任何标记将用作虚拟标记)来保持左侧边栏的宽度,并防止内容在您的课程.fixed
后移动由JS应用。
但这是一种丑陋的方式。另一种我能想到的方法(更好)是在应用#inner-page
类后立即向.fixed
div添加左边距,相当于宽度你的左侧边栏。虽然我认为当其他<aside>
标签不是.fixed
导致内容向右移动时会影响其他页面 - 解决方法是,添加一个条件语句,如果只有一个{ {1}}标记存在于您的左侧边栏下方,只会调用此左边距。
大致如此:
<aside>
答案 1 :(得分:0)
为您#teritary
文件中第1673行定义的wp-content/themes/ValuePayroll/style.css
div样式添加透明边框:
#teritary {
width: 230px;
float: left;
margin: 0 10px 0 0;
border: solid 1px transparent;
}
答案 2 :(得分:-1)
我想说这可以在CSS中使用属性position: fixed
我不认为它需要Jquery。我只在手机上观看,所以我可能看不到全尺寸视图。