2014-09-03 62 views
0

我使用两个ul列表来创建可折叠菜单样式列表。下面是一个例子:如何判断一件收藏品是否可见?

<ul class="element_list element_group ui-sortable"> 
    <li id="de_1" class="element_config_form element_group_parent eg-collapsed" style="height: 1em;"></li> 
    <li id="de_2" class="element_config_form element_group_parent eg-collapsed" style="height: 1em;"></li> 
    <li id="de_57" class="element_config_form element_group_parent eg-collapsed" style="height: 1em;"></li> 
    <li id="de_47" class="element_config_form element_group_parent eg-collapsed" style="height: 1em;"></li> 
    <li id="de_3" class="element_config_form element_group_parent eg-collapsed" style="height: 1em;"></li> 
    <li id="de_4" class="element_config_form element_group_parent eg-collapsed" style="height: 1em;"></li> 
    <li id="de_18" class="element_config_form element_group_parent eg-collapsed" style="height: 1em;"></li> 
    <li id="de_20" class="element_config_form element_group_parent eg-collapsed" style="height: 1em;"></li> 
    <li id="de_49" class="element_config_form element_group_parent eg-expanded" style="height: auto;"> 
     <div></div> 
     <ul class="element_group"> 
      <li id="de_51" class="element_config_form element_group_leaf"></li> 
     </ul> 
    </li> 
</ul> 

在最后元件膨胀的例子中,然而其他<li>元件具有分项也是如此。

我正在使用jQuery可排序API来移动这些元素,但我得到了一些时髦的行为(大量项目通过拖动鼠标来放置元素来回跳动)。我相信我得到了这种行为,因为拖动的元素正在检查它是否与每个列表元素相交,即使是隐藏的元素。

我的问题是,如何只检查交点只有可见的元素? CSS只使用overflow: hidden隐藏看不见的元素。

谢谢。

+1

你可以做一个小提琴? – 2014-09-03 22:45:00

+0

如果您提供小提琴,我们会更好地帮助您。 – 2014-09-03 22:58:40

+0

我将尝试将其中一个放在一起,但我使用的代码相当复杂,所以我不确定我能否将它简化为JSFiddle中的简单内容。 – user5013 2014-09-08 20:12:33

回答

0

您可以使用jQuery .width().height函数检查元素的宽度,该函数将检查溢出是否将被激活。

这里是执行的实例文档:http://api.jquery.com/width/

+0

你能举例说明如何通过使用高度函数来确定溢出是否会激活。我没有跟随。 – user5013 2014-09-08 20:07:13

+0

@ user5013本答复/帖子提供了示例,只需访问提供的文档链接。如果你有一个具体的问题,也许另一个线程更合适。如果解释和示例为您的问题带来了解决方案,请将此帖标记为答案,以便加速解决StackOverflow社区中的其他用户 – 2017-11-22 20:52:17