hot*_*ity 3 jquery toggle opacity fadeto
尝试获得不透明度来切换.基本上,列表项设置为零不透明度,从而保持其高度.单击列表子类别头时,空列表区域将下拉列表项的深度,然后不透明度应切换以显示列表元素.再次单击子类别列表头时,列表项的不透明度将逐渐变为零,然后列表区域将折叠.需要将列表项保留在那里,因此不透明度方法而不是隐藏,hideToggle或从DOM中删除它们的类似函数. http://jsfiddle.net/hotdiggity/zn6cz/10/
<!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">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>jQuery Toggle Opacity</title>
<script type="text" src="http://code.jquery.com/jquery-1.8.3.min.js"></script>
</head>
<body>
<ul class="list">
<li><a href="#">Subcategory</a></li>
<li id="id-1" class="expandable"><a href="#">Subcategory - Click this one</a>
<ul>
<li>Sub menu item 1</li>
<li>Sub menu item 2</li>
<li>Sub menu item 3</li>
<li>Sub menu item 4</li>
<li>Sub menu item 5</li>
<li>Sub menu item 6</li>
</ul></li>
<li><a href="#">Subcategory</a></li>
<li><a href="#">Subcategory</a></li>
</ul>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
JQuery的...
?$(document).ready(function(){
$('.list li.expandable ul').hide();
$('.list li.expandable ul li').css({ opacity: 0 });;
$('.expandable').click(function(){
$('#id-1.expandable ul').slideToggle('slow');
// $(this).toggleClass('toggle-arrow');
$(this).toggle(function() {
// $('.list li.expandable ul li').stop();
$('.list li.expandable ul li').fadeTo(2000,1);
return false;
},
function() {
// $('.list li.expandable ul li').stop();
$('.list li.expandable ul li').fadeTo(2000,0).delay(500);
return false;
});
return false;
});
});
Run Code Online (Sandbox Code Playgroud)
目前,不透明度切换在闪烁打开和关闭时出现故障.
我更新了你的jsfiddle.它能解决你的问题吗?
$(document).ready(function(){
$('.list li.expandable ul').hide();
$('.list li.expandable ul').css({ opacity: 0 });;
$('.expandable').click(function(){
if ($(this).find("> UL").is(":visible")) {
$(this).find("> UL").fadeTo(2000, 0, function() {
$(this).slideToggle("slow");
});
} else {
$(this).find('> ul').slideToggle('slow', function() {
$(this).fadeTo(2000, 1);
//return false;
});
}
});
});
Run Code Online (Sandbox Code Playgroud)