jquery隐藏不工作(非IE)
jQuery快把我逼疯了。我在网上四处寻找一个简单的分类扩展滑块,但没有找到。我试图在这里创建一个 我遇到的问题是,试图隐藏()以前显示的元素()n。如果在调用hide()之前另一个元素为show()n,则忽略对第一个元素的hide()的调用 请原谅我发布了完整的HTML(请随意建议我将来应该在哪里托管整个代码示例) 如果有人对jQuery插件或我正在尝试的其他实现有任何建议,请告诉我这个方向——我很乐意使用已经制作的东西jquery隐藏不工作(非IE),jquery,html,html-lists,show-hide,Jquery,Html,Html Lists,Show Hide,jQuery快把我逼疯了。我在网上四处寻找一个简单的分类扩展滑块,但没有找到。我试图在这里创建一个 我遇到的问题是,试图隐藏()以前显示的元素()n。如果在调用hide()之前另一个元素为show()n,则忽略对第一个元素的hide()的调用 请原谅我发布了完整的HTML(请随意建议我将来应该在哪里托管整个代码示例) 如果有人对jQuery插件或我正在尝试的其他实现有任何建议,请告诉我这个方向——我很乐意使用已经制作的东西 <!DOCTYPE html PUBLIC "-//W3C//DT
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.2/jquery-ui.min.js"></script>
<script type="text/javascript">
$().ready(function() {
$("ul.box_li li.parent").mouseenter(function(event){
event.stopPropagation();
$(this).children("ul:first").show('slide',{direction: 'left'});
}).mouseleave(function(event){
event.stopPropagation();
$(this).children("ul:first").hide('slide',{direction: 'left'});
});
});
</script>
<style type="text/css">
body {font-size:10pt;}
ul.box_li li.parent {position:relative;}
ul.box_li li {background-color:#e6e6e6;width:200px;border:1px solid red;list-style-type:none;padding:5px;}
ul.box_li>li ul {display: none;position: absolute;top: 0;left: 100%;}
</style>
</head>
<body>
<ul class="box_li">
<li class="parent">
FIRST
<ul>
<li class="parent">
FIRST_SUB_1
<ul>
<li>FIRST_SUB_1_SUB_1</li>
<li>FIRST_SUB_1_SUB_2</li>
<li>FIRST_SUB_1_SUB_3</li>
<li>FIRST_SUB_1_SUB_4</li>
</ul>
</li>
<li>FIRST_SUB_2</li>
</ul>
</li>
<li class="parent">
SECOND
<ul>
<li>SECOND_SUB_1</li>
<li>SECOND_SUB_2</li>
<li>SECOND_SUB_3</li>
<li>SECOND_SUB_4</li>
<li>SECOND_SUB_5</li>
<li>SECOND_SUB_6</li>
<li>SECOND_SUB_7</li>
<li>SECOND_SUB_8</li>
</ul>
</li>
<li class="parent">
THIRD
</li>
<li class="parent">
FOURTH
<ul>
<li>FOURTH_SUB_1</li>
<li>FOURTH_SUB_2</li>
<li>FOURTH_SUB_3</li>
<li>FOURTH_SUB_4</li>
<li>FOURTH_SUB_5</li>
<li>FOURTH_SUB_6</li>
<li>FOURTH_SUB_7</li>
<li>FOURTH_SUB_8</li>
</ul>
</li>
<li class="parent">
FIFTH
<ul>
<li>FIFTH_SUB_1</li>
<li>FIFTH_SUB_2</li>
<li>FIFTH_SUB_3</li>
<li>FIFTH_SUB_4</li>
<li>FIFTH_SUB_5</li>
<li>FIFTH_SUB_6</li>
</ul>
</li>
</ul>
</body>
</html>
$().ready(函数()){
$(“ul.box\u li.parent”).mouseenter(函数(事件){
event.stopPropagation();
$(this.children(“ul:first”).show('slide',{direction:'left'});
}).mouseleave(功能(事件){
event.stopPropagation();
$(this.children(“ul:first”).hide('slide',{direction:'left'});
});
});
正文{字体大小:10pt;}
ul.box_li li.parent{位置:相对;}
ul.box_li li{背景颜色:#e6e6;宽度:200px;边框:1px纯红;列表样式类型:无;填充:5px;}
ul.box_li>li ul{显示:无;位置:绝对;顶部:0;左侧:100%;}
-
第一
-
第一部分第1节
- 第一次
- 第一部分第1部分第2部分
- 第一部分第1部分第3部分
- 第一部分第1部分第4部分
- 第一部分第二部分
-
第二
- 第二组第1组
- 第二组
- 第二单元第三单元
- 第二部分第4节
- 第二组第5组
- 第二单元第六单元
- 第二单元第7单元
- 第二组第8组
-
第三
-
第四
- 第四组第1组
- 第四单元第二单元
- 第四单元第三单元
- 第四单元第四单元
- 第四单元第五单元
- 第四单元第六单元
- 第四组第七组
- 第四单元第八单元
-
第五
- 第五分队1
- 第五单元第二单元
- 第五单元第三单元
- 第五单元第四单元
- 第五分队
- 第五单元第六单元
在这里,您最好能得到类似的效果,如下所示:
$("ul.box_li li.parent").hover(function(){
$(this).children("ul:first").animate({ width: 'toggle'});
});
,这是因为jQuery UI效果如何处理它们自己,它们没有真正正确地遵循队列规则,请看:
这些效果故意超出了正常的
fx
动画队列,虽然我不确定是谁做出了这个决定,但应该是另一种方式……但这正是导致当前问题的原因。我猜它们明确用于不可中断的操作,例如对话框消失、选项卡更改等……基本上你不会调用的东西。+1让我首先欢迎你这么做!
el.animate(animation, { queue: false, ....