2011-07-25 82 views
0

我是一个初学者编码器,需要以下问题的帮助。我正在尝试使用带表的jQuery手风琴函数制作日历。现在,整个表格在屏幕上显示。我希望手风琴可以关闭,所以你只能看到月份的标题,然后在悬停发生时打开。当手风琴被触发时,日历也在缩小。我试图将代码放在基本的位置。任何援助将不胜感激。Jquery手风琴与表问题

下面是代码:

<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js"></script> 

    <script type="text/javascript"> 
    $(document).ready(function(){ 


    $('table.CityTable th') .hover(
    function() { 
     $(this) .parents('table.CityTable') .children('tbody') .toggle("slow"); 
    } 
) 

$('table.StateTable tr.statetablerow th') .hover(
    function() { 
     $(this) .parents('table.StateTable') .children('tbody') .slideToggle("slow"); 
    } 
) 



}); 
    </script> 


    </head> 
    <body> 
    <div id="container"> 
    <div id="contentarea"> <font class="title">2011 Calendar</font> 
    <body> 
    <div id=""> 
    <table class="StateTable" width="100%"> 
    <thead> 
    <tr class="statetablerow"> 
    <th colspan="7">January</th> 
    </tr> 
    </thead> 

    <tbody> 
    <tr> 
    <th valign=center align=middle bgcolor="#333333"><font color="#FFFFFF">Sunday</font></th> 
    <th valign=center align=middle bgcolor="#333333"><font color="#FFFFFF">Monday</font></th> 
    <th valign=center align=middle bgcolor="#333333"><font color="#FFFFFF">Tuesday</font></th> 
    <th valign=center align=middle bgcolor="#333333"><font color="#FFFFFF">Wednesday</font></th> 
    <th valign=center align=middle bgcolor="#333333"><font color="#FFFFFF">Thursday</font></th> 
    <th valign=center align=middle bgcolor="#333333"><font color="#FFFFFF">Friday</font></th> 
    <th valign=center align=middle bgcolor="#333333"><font color="#FFFFFF">Saturday</font></th> 
    </tr> 
    <tr> 
    <td valign=top align=left></td> 
    <td valign=top align=left></td> 
    <td valign=top align=left></td> 
    <td valign=top align=left></td> 
    <td valign=top align=left</td> 
    <td valign=top align=left></td> 
    <td valign=top align=left>1</td> 
    </tr> 
    <tr> 
    <td valign=top align=left>2</td> 
    <td valign=top align=left>3</td> 
    <td valign=top align=left>4</td> 
    <td valign=top align=left>5</td> 
    <td align=left valign=top>6</td> 
    <td valign=top align=left>7</td> 
    </tr> 
    <tr> 
    <td valign=top align=left>9</td> 
    <td valign=top align=left>10</td> 
    <td valign=top align=left>11</td> 
    <td valign=top align=left>12</td> 
    <td valign=top align=left>13</td> 
    <td valign=top align=left>14</td> 
    <td valign=top align=left>15</td> 
    </tr> 
    <tr> 
    <td valign=top align=left>16</td> 
    <td valign=top align=left>17</td> 
    <td valign=top align=left>18</td> 
    <td valign=top align=left>19</td> 
    <td valign=top align=left>20</td> 
    <td valign=top align=left>21</td> 
    <td valign=top align=left>22</td> 
    </tr> 
    <tr> 
    <td valign=top align=left>23</td> 
    <td valign=top align=left>24</td> 
    <td valign=top align=left>25</td> 
    <td valign=top align=left>26</td> 
    <td valign=top align=left>27</td> 
    <td valign=top align=left>28</td> 
    <td valign=top align=left>29</td> 
    </tr> 
    <tr> 
    <td valign=top align=left></td> 
    <td valign=top align=left></td> 
    <td valign=top align=left></td> 
    <td valign=top align=left></td> 
    <td valign=top align=left></td> 
    <td valign=top align=left></td> 
    <td valign=top align=left></td> 
    </tr> 
    </tbody>    
    </table> 
    </div> 


    <table class="StateTable" width="100%"> 
    <thead> 
    <tr class="statetablerow"> 
    <th colspan="7">February</th> 
    </tr> 
    </thead> 

    <tbody> 

    <tr> 
    <th valign=center align=middle bgcolor="#333333"><font color="#FFFFFF">Sunday</font></th> 
    <th valign=center align=middle bgcolor="#333333"><font color="#FFFFFF">Monday</font></th> 
    <th valign=center align=middle bgcolor="#333333"><font color="#FFFFFF">Tuesday</font></th> 
    <th valign=center align=middle bgcolor="#333333"><font color="#FFFFFF">Wednesday</font></th> 
    <th valign=center align=middle bgcolor="#333333"><font color="#FFFFFF">Thursday</font></th> 
    <th valign=center align=middle bgcolor="#333333"><font color="#FFFFFF">Friday</font></th> 
    <th valign=center align=middle bgcolor="#333333"><font color="#FFFFFF">Saturday</font></th> 
    </tr> 
    <tr> 
    <td valign=top align=left></td> 
    <td valign=top align=left></td> 
    <td valign=top align=left></td> 
    <td valign=top align=left></td> 
    <td valign=top align=left</td> 
    <td valign=top align=left></td> 
    <td valign=top align=left>1</td> 
    </tr> 
    <tr> 
    <td valign=top align=left>2</td> 
    <td valign=top align=left>3</td> 
    <td valign=top align=left>4</td> 
    <td valign=top align=left>5</td> 
    <td align=left valign=top>6</td> 
    <td valign=top align=left>7</td> 
    <td valign=top align=left>8</td> 
    </tr> 
    <tr> 
    <td valign=top align=left>9</td> 
    <td valign=top align=left>10</td> 
    <td valign=top align=left>11</td> 
    <td valign=top align=left>12</td> 
    <td valign=top align=left>13</td> 
    <td valign=top align=left>14</td> 
    <td valign=top align=left>15</td> 
    </tr> 
    <tr> 
    <td valign=top align=left>16</td> 
    <td valign=top align=left>17</td> 
    <td valign=top align=left>18</td> 
    <td valign=top align=left>19</td> 
    <td valign=top align=left>20</td> 
    <td valign=top align=left>21</td> 
    <td valign=top align=left>22</td> 
    </tr> 

    <tr> 
    <td valign=top align=left>23</td> 
    <td valign=top align=left>24</td> 
    <td valign=top align=left>25</td> 
    <td valign=top align=left>26</td> 
    <td valign=top align=left>27</td> 
    <td valign=top align=left>28</td> 
    <td valign=top align=left>29</td> 
    </tr> 
    <tr> 
    <td valign=top align=left></td> 
    <td valign=top align=left></td> 
    <td valign=top align=left></td> 
    <td valign=top align=left></td> 
    <td valign=top align=left></td> 
    <td valign=top align=left></td> 
    <td valign=top align=left></td> 
    </tr> 
    </tbody>    
    </table> 

    </div> 
    </body> 
    </html> 

这里是CSS:

#container {width: 800px;height: 100%;top: 20px;bottom: 20px;text-align: center;margin: auto;left: auto;right: auto;} 

    #contentarea {top: 240;height: 100%;width: 700px;right: 50px;left: 50px;padding-right: 40px;padding-left: 40px;} 

    table.CityTable, table.StateTable{width="100%"} 

    table.StateTable{margin:0px;} 

    table td{padding:5px;} 

    table.StateTable thead th{background: #333; padding: 5px; cursor:pointer; color:white;} 

    table.CityTable thead th{cursor:pointer; color:black;} 

    table.StateTable td.nopad{padding:0;} 

回答

1

这应做到:

$(document).ready(function(){ 

    $('table.StateTable tbody').hide(); //or add display:none in css 
    $('table.StateTable').hover(
     function() { 
      $(this).find('tbody').slideToggle("slow"); 
     }, 
     function() { 
      $(this).find('tbody').slideToggle("slow"); 
     }) 
}); 
+0

这太神奇了。谢谢。如果月份是当前显示的月份,是否有办法让月份背景颜色改变?因此表明它是活跃的。 – user862307

+0

你可能会更好的做到这一点与服务器sidescript:在PHP'<?php if($ month =='your argument'){echo'class =“active”';}?>'然后只是样式活动在你的表格 – Sparkup

+0

高兴能够帮助 - 如果这回答你的问题,请接受。 – Sparkup

0

#container {width: 800px;height: 100%;top: 20px;bottom: 20px;text-align: center;margin: auto;left: auto;right: auto;} 
 

 
    #contentarea {top: 240;height: 100%;width: 700px;right: 50px;left: 50px;padding-right: 40px;padding-left: 40px;} 
 

 
    table.CityTable, table.StateTable{width="100%"} 
 

 
    table.StateTable{margin:0px;} 
 

 
    table td{padding:5px;} 
 

 
    table.StateTable thead th{background: #333; padding: 5px; cursor:pointer; color:white;} 
 

 
    table.CityTable thead th{cursor:pointer; color:black;} 
 

 
    table.StateTable td.nopad{padding:0;}
<div id="container"> 
 
    <div id="contentarea"> <font class="title">2011 Calendar</font> 
 
    <div id=""> 
 
     <table class="StateTable" width="100%"> 
 
     <thead> 
 
      <tr class="statetablerow header"> 
 
      <th colspan="7">January</th> 
 
      </tr> 
 
     </thead> 
 
     <tbody> 
 
      <tr> 
 
      <th valign=center align=middle bgcolor="#333333"><font color="#FFFFFF">Sunday</font></th> 
 
      <th valign=center align=middle bgcolor="#333333"><font color="#FFFFFF">Monday</font></th> 
 
      <th valign=center align=middle bgcolor="#333333"><font color="#FFFFFF">Tuesday</font></th> 
 
      <th valign=center align=middle bgcolor="#333333"><font color="#FFFFFF">Wednesday</font></th> 
 
      <th valign=center align=middle bgcolor="#333333"><font color="#FFFFFF">Thursday</font></th> 
 
      <th valign=center align=middle bgcolor="#333333"><font color="#FFFFFF">Friday</font></th> 
 
      <th valign=center align=middle bgcolor="#333333"><font color="#FFFFFF">Saturday</font></th> 
 
      </tr> 
 
      <tr> 
 
      <td valign=top align=left></td> 
 
      <td valign=top align=left></td> 
 
      <td valign=top align=left></td> 
 
      <td valign=top align=left></td> 
 
      <td valign=top align=left</td> 
 
      <td valign=top align=left></td> 
 
      <td valign=top align=left>1</td> 
 
      </tr> 
 
      <tr> 
 
      <td valign=top align=left>2</td> 
 
      <td valign=top align=left>3</td> 
 
      <td valign=top align=left>4</td> 
 
      <td valign=top align=left>5</td> 
 
      <td align=left valign=top>6</td> 
 
      <td valign=top align=left>7</td> 
 
      </tr> 
 
      <tr> 
 
      <td valign=top align=left>9</td> 
 
      <td valign=top align=left>10</td> 
 
      <td valign=top align=left>11</td> 
 
      <td valign=top align=left>12</td> 
 
      <td valign=top align=left>13</td> 
 
      <td valign=top align=left>14</td> 
 
      <td valign=top align=left>15</td> 
 
      </tr> 
 
      <tr> 
 
      <td valign=top align=left>16</td> 
 
      <td valign=top align=left>17</td> 
 
      <td valign=top align=left>18</td> 
 
      <td valign=top align=left>19</td> 
 
      <td valign=top align=left>20</td> 
 
      <td valign=top align=left>21</td> 
 
      <td valign=top align=left>22</td> 
 
      </tr> 
 
      <tr> 
 
      <td valign=top align=left>23</td> 
 
      <td valign=top align=left>24</td> 
 
      <td valign=top align=left>25</td> 
 
      <td valign=top align=left>26</td> 
 
      <td valign=top align=left>27</td> 
 
      <td valign=top align=left>28</td> 
 
      <td valign=top align=left>29</td> 
 
      </tr> 
 
      <tr> 
 
      <td valign=top align=left></td> 
 
      <td valign=top align=left></td> 
 
      <td valign=top align=left></td> 
 
      <td valign=top align=left></td> 
 
      <td valign=top align=left></td> 
 
      <td valign=top align=left></td> 
 
      <td valign=top align=left></td> 
 
      </tr> 
 
     </tbody>    
 
     </table> 
 
    </div> 
 

 

 
    <table class="StateTable t-month" width="100%"> 
 
     <thead> 
 
     <tr class="statetablerow header"> 
 
      <th colspan="7">February</th> 
 
     </tr> 
 
     </thead> 
 
     <tbody> 
 
     <tr> 
 
      <th valign=center align=middle bgcolor="#333333"><font color="#FFFFFF">Sunday</font></th> 
 
      <th valign=center align=middle bgcolor="#333333"><font color="#FFFFFF">Monday</font></th> 
 
      <th valign=center align=middle bgcolor="#333333"><font color="#FFFFFF">Tuesday</font></th> 
 
      <th valign=center align=middle bgcolor="#333333"><font color="#FFFFFF">Wednesday</font></th> 
 
      <th valign=center align=middle bgcolor="#333333"><font color="#FFFFFF">Thursday</font></th> 
 
      <th valign=center align=middle bgcolor="#333333"><font color="#FFFFFF">Friday</font></th> 
 
      <th valign=center align=middle bgcolor="#333333"><font color="#FFFFFF">Saturday</font></th> 
 
     </tr> 
 
     <tr> 
 
      <td valign=top align=left></td> 
 
      <td valign=top align=left></td> 
 
      <td valign=top align=left></td> 
 
      <td valign=top align=left></td> 
 
      <td valign=top align=left</td> 
 
      <td valign=top align=left></td> 
 
      <td valign=top align=left>1</td> 
 
     </tr> 
 
     <tr> 
 
      <td valign=top align=left>2</td> 
 
      <td valign=top align=left>3</td> 
 
      <td valign=top align=left>4</td> 
 
      <td valign=top align=left>5</td> 
 
      <td align=left valign=top>6</td> 
 
      <td valign=top align=left>7</td> 
 
      <td valign=top align=left>8</td> 
 
     </tr> 
 
     <tr> 
 
      <td valign=top align=left>9</td> 
 
      <td valign=top align=left>10</td> 
 
      <td valign=top align=left>11</td> 
 
      <td valign=top align=left>12</td> 
 
      <td valign=top align=left>13</td> 
 
      <td valign=top align=left>14</td> 
 
      <td valign=top align=left>15</td> 
 
     </tr> 
 
     <tr> 
 
      <td valign=top align=left>16</td> 
 
      <td valign=top align=left>17</td> 
 
      <td valign=top align=left>18</td> 
 
      <td valign=top align=left>19</td> 
 
      <td valign=top align=left>20</td> 
 
      <td valign=top align=left>21</td> 
 
      <td valign=top align=left>22</td> 
 
     </tr> 
 

 
     <tr> 
 
      <td valign=top align=left>23</td> 
 
      <td valign=top align=left>24</td> 
 
      <td valign=top align=left>25</td> 
 
      <td valign=top align=left>26</td> 
 
      <td valign=top align=left>27</td> 
 
      <td valign=top align=left>28</td> 
 
      <td valign=top align=left>29</td> 
 
     </tr> 
 
     <tr> 
 
      <td valign=top align=left></td> 
 
      <td valign=top align=left></td> 
 
      <td valign=top align=left></td> 
 
      <td valign=top align=left></td> 
 
      <td valign=top align=left></td> 
 
      <td valign=top align=left></td> 
 
      <td valign=top align=left></td> 
 
     </tr> 
 
     </tbody>    
 
    </table> 
 
</div> 
 

 

 
<!--- Script --> 
 
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/jquery-compat/3.0.0-alpha1/jquery.js"></script> 
 
<script type="text/javascript"> 
 
    $(document).ready(function(){ 
 
     
 
     $('table tbody').hide(); 
 
     $('table thead tr').mouseover(function() { 
 
       $('table tbody').hide(); 
 
       $(this).parent().next().slideToggle("slow"); 
 
     }); 
 

 
     
 
    }); 
 
</script>