为什么我提醒cont_home_h
或cont_other_h
我得到NaN?但是,如果我提醒变量wind_h
,slider_h
或head_img_h
,我就会得到它们的高度。我做错了吗?如果你需要CSS,我将创建一个演示,但我希望你能看到这个jQuery中的错误。感谢。
/*no scroll on content when nav is open*/
var wind_h = jQuery(window).height();
var slider_h = jQuery(".slider").height();
var head_img_h = jQuery(".head").height();
var cont_home_h = wind_h - slider_h;
var cont_other_h = wind_h - head_img_h;
var cont_wrapper = jQuery(".page_cont_wrapper");
var slider = jQuery(".slider");
var head_img = jQuery(".head");
if(slider.length && jQuery("#hd_ft_cont").hasClass("open_nav")){
cont_wrapper.css("height", cont_home_h);
cont_wrapper.addClass("no_scroll");
}else{
cont_wrapper.css("height", "auto");
cont_wrapper.removeClass("no_scroll");
}
if(head_img.length && jQuery("#hd_ft_cont").hasClass("open_nav")){
cont_wrapper.css("height", cont_other_h);
cont_wrapper.addClass("no_scroll");
}else{
cont_wrapper.css("height", "auto");
cont_wrapper.removeClass("no_scroll");
}
jQuery(window).resize(function(){
var wind_h = jQuery(window).height();
var slider_h = jQuery(".slider").height();
var head_img_h = jQuery(".head").height();
var cont_home_h = wind_h - slider_h;
var cont_other_h = wind_h - head_img;
var cont_wrapper = jQuery(".page_cont_wrapper");
var slider = jQuery(".slider");
var head_img = jQuery(".head");
if(slider.length && jQuery("#hd_ft_cont").hasClass("open_nav")){
cont_wrapper.css("height", cont_home_h);
cont_wrapper.addClass("no_scroll");
}else{
cont_wrapper.css("height", "auto");
cont_wrapper.removeClass("no_scroll");
}
if(head_img.length && jQuery("#hd_ft_cont").hasClass("open_nav")){
cont_wrapper.css("height", cont_other_h);
cont_wrapper.addClass("no_scroll");
}else{
cont_wrapper.css("height", "auto");
cont_wrapper.removeClass("no_scroll");
}
});
答案 0 :(得分:5)
没有运行代码,但我很确定NaN是因为你的调整大小函数第6行的拼写错误而来的
var cont_other_h = wind_h - head_img;
该变量在其他任何地方都被称为head_img_h
。
答案 1 :(得分:0)
事实证明,主要问题是if语句相互覆盖。这就是我为解决它而做的事情
/*no scroll on content when nav is open*/
var wind_h = jQuery(window).height();
var slider_h = jQuery(".slider").height();
var head_img_h = jQuery(".head").height();
var cont_home_h = wind_h - slider_h;
var cont_other_h = wind_h - head_img_h;
var cont_wrapper = jQuery(".page_cont_wrapper");
var slider = jQuery(".slider");
var head_img = jQuery(".head");
if(slider.length && jQuery("#hd_ft_cont").hasClass("open_nav")){
cont_wrapper.css("height", cont_home_h);
cont_wrapper.addClass("no_scroll");
}else if(slider.length){
cont_wrapper.css("height", "auto");
cont_wrapper.removeClass("no_scroll");
}
if(head_img.length && jQuery("#hd_ft_cont").hasClass("open_nav")){
cont_wrapper.css("height", cont_other_h);
cont_wrapper.addClass("no_scroll");
}else if(head_img.length){
cont_wrapper.css("height", "auto");
cont_wrapper.removeClass("no_scroll");
}