当使用sliderToggle方法时,可见表达式似乎没有返回除true之外的任何东西.
如果我手动使用show / hide结合:可见表达式,它将工作正常.
故障示例:
jQuery(".fileNode .nodeExpander").click(function() { var notes = jQuery(this).parent().siblings(".fileNotes"); notes.slideToggle ("fast"); var isVisible = notes.is(":visible"); // Always returns true... // Do stuff based on visibility... });
工作示例:
jQuery(".fileNode .nodeExpander").click(function() { var notes = jQuery(this).parent().siblings(".fileNotes"); var isVisible = notes.is(":visible"); if (isVisible) notes.hide("fast"); else notes.show("fast"); // Do stuff based on visibility... });
一些html:
<ul> <li class="fileNode"> <img src="<%= Url.Content ("~/Images/Collapse.png") %>" alt="<%= UIResources.CollpaseAltText %>" class="nodeExpander" /> </li> <li class="fileLink"> <%= Html.ActionLink (file.Name,"Details",new { id = file.FileId }) %> </li> <li class="fileNotes"> <%= file.Description %> </li> </ul>
我假设slideToggle没有显示/隐藏 – 有没有其他可以检查?
我在Firefox 3.5,IE 7,8和Chrome 4 …中尝试过相同的结果.
谢谢,
ķ