Javascript jQuery多个else if语句

Javascript jQuery多个else if语句,javascript,jquery,if-statement,Javascript,Jquery,If Statement,我正在尝试根据窗口高度大小在div上设置填充。我简直找不到更好的工作方式来将我的内容div垂直集中在另一个维度未知的div中。我的代码如下: <script> $(document).ready(function(){ var window_height = $(window).height(); var home_content = $('#home-content'); if(window_height <

我正在尝试根据窗口高度大小在div上设置填充。我简直找不到更好的工作方式来将我的内容div垂直集中在另一个维度未知的div中。我的代码如下:

<script>
    $(document).ready(function(){ 
        var window_height = $(window).height();
        var home_content = $('#home-content');

            if(window_height <= 600) {
                home_content.css({"padding-top", "13px"});
            } else if(window_height > 600 && window_height <= 768) {
                home_content.css({"padding-top", "97px"});
            } else if(window_height > 768 && window_height <= 800) {
                home_content.css({"padding-top", "113px"});
            } else if(window_height > 800 && window_height <= 900) {
                home_content.css({"padding-top", "163px"});
            } else if(window_height > 900 && window_height <= 1050) {
                home_content.css({"padding-top", "238px"});
            } else if(window_height > 1050 && window_height <= 1080) {
                home_content.css({"padding-top", "253px"});
            } else if(window_height > 1080 && window_height <= 1200) {
                home_content.css({"padding-top", "313px"});
            } else {

            }
     });
    </script>
它不起作用。我的网站被卡在预加载程序上,根本无法加载任何内容。你知道我哪里做错了吗?

试着改变一下:

{"padding-top", "13px"}
致:

等等

笔记 问题是,您可以通过两种方式为jquery分配css样式:

$("#element").css('padding', '30px');
如果要编辑/添加一个样式设置,或:

$("#element").css({'padding':'30px'});
使用此方法,您可以添加任意数量的设置,只需使用、、将它们分开,以感谢@dollarvar指出这一点

代码中的问题是您有一个,而不是:。

尝试更改:

{"padding-top", "13px"}
致:

等等

笔记 问题是,您可以通过两种方式为jquery分配css样式:

$("#element").css('padding', '30px');
如果要编辑/添加一个样式设置,或:

$("#element").css({'padding':'30px'});
使用此方法,您可以添加任意数量的设置,只需使用、、将它们分开,以感谢@dollarvar指出这一点

代码中的问题是您有一个,而不是:。

试试这个,您可以删除{}并使用

而不是

home_content.css({"padding-top", "13px"});
试试这个,你可以删除{}并使用

而不是

home_content.css({"padding-top", "13px"});

作为替代JavaScript攻击的方法,您可以使用指定要应用的CSS规则。它确实取决于您需要支持的浏览器

这也会在调整浏览器窗口大小时自动更改填充,这与响应式设计使用的技术相同

编辑:

但是,重新阅读您的实际问题,看起来您正试图在容器中垂直居中放置一个div。您真的不需要使用任何Javascript,完全可以使用CSS来实现这一点,而且会更加流畅:


作为替代JavaScript攻击的方法,您可以使用指定要应用的CSS规则。它确实取决于您需要支持的浏览器

这也会在调整浏览器窗口大小时自动更改填充,这与响应式设计使用的技术相同

编辑:

但是,重新阅读您的实际问题,看起来您正试图在容器中垂直居中放置一个div。您真的不需要使用任何Javascript,完全可以使用CSS来实现这一点,而且会更加流畅:


在没有任何工作时检查控制台。您应该在那里得到一些输出。您可以通过删除每个&&运算符左侧的测试来清理代码。例如,您的第一个if已经测试了它是否为600,因为您已经知道它是。。。像这样:你想做什么,在一个容器中垂直居中一个div?当什么都不起作用时,检查控制台。您应该在那里得到一些输出。您可以通过删除每个&&运算符左侧的测试来清理代码。例如,您的第一个if已经测试了它是否为600,因为您已经知道它是。。。像这样:你想做什么,在容器中垂直居中放置一个div?你有正确的选择器$home content吗?@MomchilKaramitev给我们控制台的输出,你知道那是什么吗?@DanielLisik好的,你只需要添加,.css只支持一个样式设置,.css{}对象有几个…或者在那一行附近。那么你就有了最完整的.css101;我用:代替尝试了该方法,但它在控制台中给了我错误,所以我将其改回,现在它可以工作了。我想我只是需要删除.css属性中的大括号。谢谢大家的帮助!可能尝试了:没有{和}。了解基本语法和阅读文档需要说点什么。你有正确的选择器$home content吗?@MomchilKaramitev给我们控制台的输出,你知道那是什么吗?@DanielLisik好的,你只需要添加,.css只支持一个样式设置,.css{}对象有几个…或者在这行附近。那么你就有了最完整的.css101;我用:代替尝试了该方法,但它在控制台中给了我错误,所以我将其改回,现在它可以工作了。我想我只是需要删除.css属性中的大括号。谢谢大家的帮助!可能尝试了:没有{和}。在了解基本语法和阅读文档方面有一些需要说的。我认为这确实有帮助。我的站点现在加载得很好,填充应用于元素。非常感谢。我认为这确实有帮助。我的站点现在加载得很好,填充应用于元素。非常感谢。