【发布时间】:2016-05-19 12:33:20
【问题描述】:
我正在尝试创建一个静态导航面板,当到达页面内容的末尾时,该面板在页脚之前的底部变得绝对。
当我为 wordpress 开发时,页面可能具有不同的高度,因此我尝试在导航面板与页脚“碰撞”时触发绝对定位。
到目前为止,我已经使用了我在这里找到的这段代码
function collision($archive, $footer){
var archivexPos = $archive.offset().left;
var archiveyPos = $archive.offset().top;
var archiveHeight = $archive.outerHeight(true);
var archiveWidth = $archive.outerWidth(true);
var archiveb = archiveyPos + archiveHeight;
var archiver = archivexPos + archiveWidth;
var footerxPos = $footer.offset().left;
var footeryPos = $footer.offset().top;
var footerHeight = $footer.outerHeight(true);
var footerWidth = $footer.outerWidth(true);
var footerb = footeryPos + footerHeight;
var footerr = footerxPos + footerWidth;
if (archiveb < footeryPos || archiveyPos > footerb || archiver < footerxPos || archivexPos > footer) return Boolean = false;
return Boolean = true;
并且使用了一个布尔值的全局变量来传递给这个函数
$(window).on('scroll', function() {
var scrollmath = Math.round($(window).scrollTop());
var archiveValue = scrollmath + 48;
var archiveBottom = archiveValue + 'px';
console.log('collision boolean', Boolean)
if (Boolean = false) {
$('#archive').css('position', 'fixed');
$('#archive').css('top', '48px');
} else {
$('#archive').css('position', 'absolute');
$('#archive').css('top', archiveBottom);
}
我的问题是 if 语句似乎在创建另一个布尔变量?当我将其注释掉时,我可以看到控制台按预期报告了布尔变量。但是,当我把它留在里面并且它们发生碰撞时,就会发生这种情况
这里发生了什么?
【问题讨论】:
-
if (Boolean = false) {不能赋值,只能进行比较。 -
不,你真正的问题是,你覆盖了布尔类型的构造函数。
标签: javascript jquery html css wordpress