Javascript jQuery展开列表在单击时未展开
我被这个剧本迷住了。基本上,我有未知数量的类别(20-50),它们显示在一个侧边栏上,一个在另一个之上。我想显示10,然后当我按下一个按钮时,它会展开显示其余的。我有10个暴露与剩余金额关闭在一个部门称为cathide。所以当我按下按钮显示时,它应该展开,但它不是 PHP代码生成列表,显示10个类别,然后返回Javascript jQuery展开列表在单击时未展开,javascript,php,jquery,html,Javascript,Php,Jquery,Html,我被这个剧本迷住了。基本上,我有未知数量的类别(20-50),它们显示在一个侧边栏上,一个在另一个之上。我想显示10,然后当我按下一个按钮时,它会展开显示其余的。我有10个暴露与剩余金额关闭在一个部门称为cathide。所以当我按下按钮显示时,它应该展开,但它不是 PHP代码生成列表,显示10个类别,然后返回 <div class="cathide"> </div> jQuery $("#showAll").click(function () { $("cathide
<div class="cathide">
</div>
jQuery
$("#showAll").click(function () {
$("cathide").slideDown(500);
$(this).hide();
});
$("#hide").click(function () {
$("cathide").slideUp(500, function () {
$("#showAll").show();
});
});
HTML
类别
{$sidebar}//用于调用10只猫,然后调用div class=cathide,然后调用其余的猫
{$sidebar1}//用于调用/div
如上所述,您缺少window.onload侦听器,因此需要执行以下操作:
$(window).ready( function() {
$("#showAll").click(function () {
$(".cathide").slideDown(500);
$(this).hide();
});
$("#hide").click(function () {
$(".cathide").slideUp(500, function () {
$("#showAll").show();
});
});
jquery选择器需要一个“.”来表示
类
。每当您遇到这样的问题时,第一步应该是控制台元素以确保它存在,即console.log($('.someClass'))
添加了。到jquery,它仍然不起作用。你能设置一个提琴或jsbin吗?我可以试试。不过我不确定。另外,如果有帮助的话,我的链接是www.codegamer.net,它是左上角的边栏代码>环绕您的代码。代码在DOM初始化之前运行,因此选择器没有定义。在window.onload侦听器中包装您的JavaScript应该可以。我会把答案贴在下面。
$("#showAll").click(function () {
$("cathide").slideDown(500);
$(this).hide();
});
$("#hide").click(function () {
$("cathide").slideUp(500, function () {
$("#showAll").show();
});
});
<table border="0" cellspacing="{$theme['borderwidth']}" cellpadding="{$theme['tablespace']}" class="tborder">
<tr>
<td class="tab">
Categories
</td>
</tr>
<tr>
<td class="trow2">
{$sidebar} // Used to call 10 cats then div class=cathide then remaining cats
{$sidebar1} // Used to call /div
<input type="button" value="Show all" id="showAll" />
<input type="button" value="Hide" id="hide" />
</td>
</tr>
</table>
$(window).ready( function() {
$("#showAll").click(function () {
$(".cathide").slideDown(500);
$(this).hide();
});
$("#hide").click(function () {
$(".cathide").slideUp(500, function () {
$("#showAll").show();
});
});