所以我有一个完美运作的切换显示代码:
function toggle_visibility(id) {
var x = document.getElementById(id);
if (x.style.display == 'block')
x.style.display = 'none';
else
x.style.display = 'block';
}
我正在使用此切换显示作为粘性导航上搜索框的下拉列表。我的粘性导航在300 pixels
处偏移,当页面高于该值时,切换保持显示状态,我如何根据页面高度显示?x.style.display = 'none';
?
到目前为止我有这个似乎没有用的。
function toggle_visibility(id) {
var x = document.getElementById(id);
if ((window.pageYOffset || document.documentElement.scrollTop <= 300) && (x.style.display == 'block'))
x.style.display = 'none';
else
x.style.display = 'block';
}
答案 0 :(得分:1)
我认为您的条件有问题:
(window.pageYOffset || document.documentElement.scrollTop <= 300)
Javascript正在尝试评估逻辑OR的每一侧,而只测试右侧位测试<=300
。换句话说,它正在评估:
(window.pageYOffset) OR (document.documentElement.scrollTop <= 300)
我想你想要更像这样的东西:
(window.pageYOffset <=300 || document.documentElement.scrollTop <= 300)
如果我能在小提琴中证实它,我会更有信心,但我希望无论如何都有帮助。