我使用jQuery sticky plugin将菜单和联系信息粘贴到顶部。该网站是响应式的,因此菜单的顶部间距会发生变化。我试图根据联系信息的CSS值做不同的间距,但它不起作用。我很确定我的jQuery是正确的......
$(document).ready(function(){
function checkForFloat()
{
setTimeout(checkForFloat, 100);
if($("#contact").css("float") === "none") {
$("#headerbg2").sticky({topSpacing:180});
}
else if (!$("#contact").css("float") === "none") {
$("#headerbg2").sticky({topSpacing:120});
}
}
});
答案 0 :(得分:2)
要对文档进行动态更改,需要首先解压缩并更新
$("#headerbg2").unstick() & $("#headerbg2").sticky('update')
这也需要将(!$("#contact").css("float") === "none")
更改为($("#contact").css("float") != "none")
或else { .. }
演示
<强>代码强>
$(document).ready(function () {
$("#headerbg1").sticky({
topSpacing: 0
});
function checkForFloat() {
if ($("#contact").css("float") === "none") {
$("#headerbg2").sticky({
topSpacing: 50
});
} else {
$("#headerbg2").sticky({
topSpacing: 120
});
}
}
setTimeout(checkForFloat, 1000);
window.addEventListener('resize', function (event) {
$("#headerbg2").unstick()
if ($("#contact").css("float") === "none") {
$("#headerbg2").sticky({
topSpacing: 50
});
$("#headerbg2").sticky('update')
} else {
$("#headerbg2").sticky({
topSpacing: 120
});
$("#headerbg2").sticky('update')
}
})
});
答案 1 :(得分:0)
请改为尝试:
$(document).ready(function(){
function checkForFloat()
{
setTimeout(checkForFloat, 100);
if($("#contact").css("float") === "none") {
$("#headerbg2").sticky({topSpacing:180});
}
else if ($("#contact").css("float") !== "none") {
$("#headerbg2").sticky({topSpacing:120});
}
}
});
更改了“!”位置。