Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/82.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何检测是否存在';是水平滚动条吗?_Javascript_Jquery_Html_Css_Wordpress - Fatal编程技术网

Javascript 如何检测是否存在';是水平滚动条吗?

Javascript 如何检测是否存在';是水平滚动条吗?,javascript,jquery,html,css,wordpress,Javascript,Jquery,Html,Css,Wordpress,所以我制作了这个WordPress主题,它是有响应的,除了这个:当我把窗口缩小(但比600px大,因为这样菜单就会变成移动版本)并将鼠标悬停在菜单项的菜单项上。它有时会偏远,因此会出现一个滚动条。我处理这个问题的想法是检测(水平)滚动条何时出现,然后重新排列菜单。问题是我不知道如何检测滚动条是否出现 我已经尝试了一些方法,但是它还不能正常工作,所以没有必要把代码放在这里。 我用jquery、javascript和css做了一些尝试,但似乎没有任何效果。这也是我的第一个主题,所以我是这些东西的新手

所以我制作了这个WordPress主题,它是有响应的,除了这个:当我把窗口缩小(但比600px大,因为这样菜单就会变成移动版本)并将鼠标悬停在菜单项的菜单项上。它有时会偏远,因此会出现一个滚动条。我处理这个问题的想法是检测(水平)滚动条何时出现,然后重新排列菜单。问题是我不知道如何检测滚动条是否出现

我已经尝试了一些方法,但是它还不能正常工作,所以没有必要把代码放在这里。 我用jquery、javascript和css做了一些尝试,但似乎没有任何效果。这也是我的第一个主题,所以我是这些东西的新手

这里的请求后编辑是html、css和jquery(我在这里回答后使用)

html:

JQuery:

jQuery(document).ready(function($){
    $('a').each(function(){
        if ($(this).width > $(this).parent().width()) {
            $('.main-navigation').css('background-color', 'red');
        }
    });
});

使用jquery检查内部元素的宽度是否大于父元素的宽度

如果您有此结构:

<div class="nav">
    <ul>
        <li><a href="#">Test</li>
    </ul>
</div>

使用jquery检查内部元素的宽度是否大于父元素的宽度

如果您有此结构:

<div class="nav">
    <ul>
        <li><a href="#">Test</li>
    </ul>
</div>

谢谢你的回复。我已经尝试了你的解决方案。首先,当我把确切的代码放入其中时,出现了一个错误,所以我把它改为:jQuery(document).ready(函数($){$('a')。each(函数(){if($(this).width>$(this.parent().width()){$('main navigation')。css('background color','red');});});(我尝试更改菜单的颜色,以便知道它是否有效)但当我使滚动条显示时,它不会更改颜色。您可以指出我正在犯的错误吗?谢谢:)您的文档中是否包含了jquery库?是的,它已经包含了,因为我以前将它与其他内容一起使用:)Html,CSS和jQuery。感谢您的回复。我试过你的解决办法。首先,当我将确切的代码放入其中时,它给出了一个错误,所以我将其更改为:jQuery(document).ready(函数($){$('a').each(函数(){if($(this).width>$(this.parent().width()){$('.main navigation').css('background-color','red');}});});(我尝试更改菜单的颜色,以便知道它是否有效)但当我显示滚动条时,它不会更改颜色。你能指出我犯的错误吗?谢谢:)您的文档中包含jquery库了吗?是的,因为我以前在其他东西中使用过它,所以它已经包含了:)Html、CSS和jquery。
<div class="nav">
    <ul>
        <li><a href="#">Test</li>
    </ul>
</div>
$(document).ready(function(){
    $('a').each(function(){
        if ($(this).width > $(this).parent().width()) {
            //do something when it has scrollbar
        }
    });
});