Jquery .slideToggle(“慢”);对于表扩展器不能正常工作

时间:2013-05-13 12:26:36

标签: javascript jquery html jquery-ui slidetoggle

我尝试按照此处的定义将.slideToggle("slow");功能添加到我的表中。 W3Schools

切换效果但工作正常。我需要像上面w3school链接那样的效果。您可以在JSfiddle

查看我的代码

是否有任何排序方法(表扩展器)而不使用任何插件?

这是我的HTML表格代码

 <table width="100%" border="0" cellspacing="0" cellpadding="0" class="tablestyle" style="overflow-x: scroll; ">
            <tr>
              <td class="tableviewtop"><input name="" type="checkbox" value=""></td>
              <td class="tableviewtop textaligncenter">Material Name</td>
              <td class="tableviewtop textaligncenter"></td>
              <td class="tableviewtop textaligncenter">Color</td>
              <td class="tableviewtop textaligncenter">Base Price</td>
              <td class="tableviewtop textaligncenter">MSRP</td>
              <td class="tableviewtop textaligncenter">MAP</td>
              <td class="tableviewtop textaligncenter">Net Price</td>
              <td class="tableviewtop textaligncenter">Units Ord.</td>
              <td class="tableviewtop textaligncenter">Total Base Price</td>
              <td class="tableviewtop textaligncenter">Total Net Price</td>
              <td class="tableviewtop textaligncenter">Dis %</td>
            </tr>
            <tr>
              <td><input name="" type="checkbox" value=""></td>
              <td class="textaligncenter">Demo Name</td>
              <td class="textaligncenter"><a href="#"></a></td>
              <td class="textaligncenter"><img src = "http://www.iconfinder.com/icons/14227/download/png/16" style = "padding-left:3px;" id = "tda"/></td>
              <td class="textaligncenter">$55.00</td>
              <td class="textaligncenter">$110.00</td>
              <td class="textaligncenter">$110.00</td>
              <td class="textaligncenter">$110.00</td>
              <td class="textaligncenter">140</td>
              <td class="textaligncenter">$4815.00</td>
              <td class="textaligncenter">$3284.00</td>
              <td class="textaligncenter">10%</td>
            </tr>

            <!-- Expander Data Start -->

            <tr style = "display:none;" id = "tra1">
              <td><input name="" type="checkbox" value=""></td>
              <td class="textaligncenter"></td>
              <td class="textaligncenter"><a href="#"></a></td>
              <td class="textaligncenter"><img src = "images/icon_boxred.png" /></td>
              <td class="textaligncenter">$25.00</td>
              <td class="textaligncenter">$50.00</td>
              <td class="textaligncenter">$50.00</td>
              <td class="textaligncenter">$50.00</td>
              <td class="textaligncenter">255</td>
              <td class="textaligncenter">$3284.00</td>
              <td class="textaligncenter">$7581.00</td>
              <td class="textaligncenter">15%</td>
            </tr>
            <tr style = "display:none;" id = "tra2">
              <td><input name="" type="checkbox" value=""></td>
              <td class="textaligncenter"></td>
              <td class="textaligncenter"><a href="#"></a></td>
              <td class="textaligncenter"><img src = "images/icon_boxyellow.png" /></td>
              <td class="textaligncenter">$25.00</td>
              <td class="textaligncenter">$50.00</td>
              <td class="textaligncenter">$50.00</td>
              <td class="textaligncenter">$50.00</td>
              <td class="textaligncenter">511</td>
              <td class="textaligncenter">$2948.00</td>
              <td class="textaligncenter">$4815.00</td>
              <td class="textaligncenter">10%</td>
            </tr>

            <!-- Expander Data End -->

            <tr>
              <td><input name="" type="checkbox" value=""></td>
              <td class="textaligncenter">Demo Name</td>
              <td class="textaligncenter"><a href="#"></a></td>
              <td class="textaligncenter"><img src = "http://www.iconfinder.com/icons/14227/download/png/16" style = "padding-left:3px;" id = "tdb"/></td>
              <td class="textaligncenter">$35.00</td>
              <td class="textaligncenter">$70.00</td>
              <td class="textaligncenter">$70.00</td>
              <td class="textaligncenter">$70.00</td>
              <td class="textaligncenter">120</td>
              <td class="textaligncenter">$3548.00</td>
              <td class="textaligncenter">$2948.00</td>
              <td class="textaligncenter">5%</td>
            </tr>

            <!-- Expander Data Start -->

            <tr style = "display:none;" id = "trb1">
              <td><input name="" type="checkbox" value=""></td>
              <td class="textaligncenter"></td>
              <td class="textaligncenter"><a href="#"></a></td>
              <td class="textaligncenter"><img src = "images/icon_boxred.png" /></td>
              <td class="textaligncenter">$25.00</td>
              <td class="textaligncenter">$50.00</td>
              <td class="textaligncenter">$50.00</td>
              <td class="textaligncenter">$50.00</td>
              <td class="textaligncenter">255</td>
              <td class="textaligncenter">$3284.00</td>
              <td class="textaligncenter">$7581.00</td>
              <td class="textaligncenter">15%</td>
            </tr>
            <tr style = "display:none;" id = "trb2">
              <td><input name="" type="checkbox" value=""></td>
              <td class="textaligncenter"></td>
              <td class="textaligncenter"><a href="#"></a></td>
              <td class="textaligncenter"><img src = "images/icon_boxyellow.png" /></td>
              <td class="textaligncenter">$25.00</td>
              <td class="textaligncenter">$50.00</td>
              <td class="textaligncenter">$50.00</td>
              <td class="textaligncenter">$50.00</td>
              <td class="textaligncenter">511</td>
              <td class="textaligncenter">$2948.00</td>
              <td class="textaligncenter">$4815.00</td>
              <td class="textaligncenter">10%</td>
            </tr>

            <!-- Expander Data End -->

            <tr>
              <td><input name="" type="checkbox" value=""></td>
              <td class="textaligncenter">Demo Name</td>
              <td class="textaligncenter"><a href="#"></a></td>
              <td class="textaligncenter"><img src = "http://www.iconfinder.com/icons/14227/download/png/16" style = "padding-left:3px;" id = "tdc"/></td>
              <td class="textaligncenter">$60.00</td>
              <td class="textaligncenter">$120.00</td>
              <td class="textaligncenter">$120.00</td>
              <td class="textaligncenter">$120.00</td>
              <td class="textaligncenter">210</td>
              <td class="textaligncenter">$2582.00</td>
              <td class="textaligncenter">$1899.00</td>
              <td class="textaligncenter">30%</td>
            </tr>

            <!-- Expander Data Start -->

            <tr style = "display:none;" id = "trc1">
              <td><input name="" type="checkbox" value=""></td>
              <td class="textaligncenter"></td>
              <td class="textaligncenter"><a href="#"></a></td>
              <td class="textaligncenter"><img src = "images/icon_boxred.png" /></td>
              <td class="textaligncenter">$25.00</td>
              <td class="textaligncenter">$50.00</td>
              <td class="textaligncenter">$50.00</td>
              <td class="textaligncenter">$50.00</td>
              <td class="textaligncenter">255</td>
              <td class="textaligncenter">$3284.00</td>
              <td class="textaligncenter">$7581.00</td>
              <td class="textaligncenter">15%</td>
            </tr>
            <tr style = "display:none;" id = "trc2">
              <td><input name="" type="checkbox" value=""></td>
              <td class="textaligncenter"></td>
              <td class="textaligncenter"><a href="#"></a></td>
              <td class="textaligncenter"><img src = "images/icon_boxyellow.png" /></td>
              <td class="textaligncenter">$25.00</td>
              <td class="textaligncenter">$50.00</td>
              <td class="textaligncenter">$50.00</td>
              <td class="textaligncenter">$50.00</td>
              <td class="textaligncenter">511</td>
              <td class="textaligncenter">$2948.00</td>
              <td class="textaligncenter">$4815.00</td>
              <td class="textaligncenter">10%</td>
            </tr>

            <!-- Expander Data End -->

            <tr>
              <td><input name="" type="checkbox" value=""></td>
              <td class="textaligncenter">Demo Name</td>
              <td class="textaligncenter"><a href="#"></a></td>
              <td class="textaligncenter"><img src = "http://www.iconfinder.com/icons/14227/download/png/16" style = "padding-left:3px;" id = "tdd"/></td>
              <td class="textaligncenter">$20.00</td>
              <td class="textaligncenter">$40.00</td>
              <td class="textaligncenter">$40.00</td>
              <td class="textaligncenter">$40.00</td>
              <td class="textaligncenter">155</td>
              <td class="textaligncenter">$6521.00</td>
              <td class="textaligncenter">$6845.00</td>
              <td class="textaligncenter">12%</td>
            </tr>

            <!-- Expander Data Start -->

            <tr style = "display:none;" id = "trd1">
              <td><input name="" type="checkbox" value=""></td>
              <td class="textaligncenter"></td>
              <td class="textaligncenter"><a href="#"></a></td>
              <td class="textaligncenter"><img src = "images/icon_boxred.png" /></td>
              <td class="textaligncenter">$25.00</td>
              <td class="textaligncenter">$50.00</td>
              <td class="textaligncenter">$50.00</td>
              <td class="textaligncenter">$50.00</td>
              <td class="textaligncenter">255</td>
              <td class="textaligncenter">$3284.00</td>
              <td class="textaligncenter">$7581.00</td>
              <td class="textaligncenter">15%</td>
            </tr>
            <tr style = "display:none;" id = "trd2">
              <td><input name="" type="checkbox" value=""></td>
              <td class="textaligncenter"></td>
              <td class="textaligncenter"><a href="#"></a></td>
              <td class="textaligncenter"><img src = "images/icon_boxyellow.png" /></td>
              <td class="textaligncenter">$25.00</td>
              <td class="textaligncenter">$50.00</td>
              <td class="textaligncenter">$50.00</td>
              <td class="textaligncenter">$50.00</td>
              <td class="textaligncenter">511</td>
              <td class="textaligncenter">$2948.00</td>
              <td class="textaligncenter">$4815.00</td>
              <td class="textaligncenter">10%</td>
            </tr>

            <!-- Expander Data End -->

            <tr>
              <td><input name="" type="checkbox" value=""></td>
              <td class="textaligncenter">Demo Name</td>
              <td class="textaligncenter"><a href="#"></a></td>
              <td class="textaligncenter"><img src = "http://www.iconfinder.com/icons/14227/download/png/16" style = "padding-left:3px;" id = "tde"/></td>
              <td class="textaligncenter">$25.00</td>
              <td class="textaligncenter">$50.00</td>
              <td class="textaligncenter">$50.00</td>
              <td class="textaligncenter">$50.00</td>
              <td class="textaligncenter">196</td>
              <td class="textaligncenter">$2579.00</td>
              <td class="textaligncenter">$956.00</td>
              <td class="textaligncenter">6%</td>
            </tr>

            <!-- Expander Data Start -->

            <tr style = "display:none;" id = "tre1">
              <td><input name="" type="checkbox" value=""></td>
              <td class="textaligncenter"></td>
              <td class="textaligncenter"><a href="#"></a></td>
              <td class="textaligncenter"><img src = "images/icon_boxred.png" /></td>
              <td class="textaligncenter">$25.00</td>
              <td class="textaligncenter">$50.00</td>
              <td class="textaligncenter">$50.00</td>
              <td class="textaligncenter">$50.00</td>
              <td class="textaligncenter">255</td>
              <td class="textaligncenter">$3284.00</td>
              <td class="textaligncenter">$7581.00</td>
              <td class="textaligncenter">15%</td>
            </tr>
            <tr style = "display:none;" id = "tre2">
              <td><input name="" type="checkbox" value=""></td>
              <td class="textaligncenter"></td>
              <td class="textaligncenter"><a href="#"></a></td>
              <td class="textaligncenter"><img src = "images/icon_boxyellow.png" /></td>
              <td class="textaligncenter">$25.00</td>
              <td class="textaligncenter">$50.00</td>
              <td class="textaligncenter">$50.00</td>
              <td class="textaligncenter">$50.00</td>
              <td class="textaligncenter">511</td>
              <td class="textaligncenter">$2948.00</td>
              <td class="textaligncenter">$4815.00</td>
              <td class="textaligncenter">10%</td>
            </tr>

            <!-- Expander Data End -->

            <tr>
              <td><input name="" type="checkbox" value=""></td>
              <td class="textaligncenter">Demo Name</td>
              <td class="textaligncenter"><a href="#"></a></td>
              <td class="textaligncenter"><img src = "http://www.iconfinder.com/icons/14227/download/png/16" style = "padding-left:3px;" id = "tdf"/></td>
              <td class="textaligncenter">$80.00</td>
              <td class="textaligncenter">$160.00</td>
              <td class="textaligncenter">$160.00</td>
              <td class="textaligncenter">$160.00</td>
              <td class="textaligncenter">128</td>
              <td class="textaligncenter">$1899.00</td>
              <td class="textaligncenter">$3548.00</td>
              <td class="textaligncenter">5%</td>
            </tr>

            <!-- Expander Data Start -->

            <tr style = "display:none;" id = "trf1">
              <td><input name="" type="checkbox" value=""></td>
              <td class="textaligncenter"></td>
              <td class="textaligncenter"><a href="#"></a></td>
              <td class="textaligncenter"><img src = "images/icon_boxred.png" /></td>
              <td class="textaligncenter">$25.00</td>
              <td class="textaligncenter">$50.00</td>
              <td class="textaligncenter">$50.00</td>
              <td class="textaligncenter">$50.00</td>
              <td class="textaligncenter">255</td>
              <td class="textaligncenter">$3284.00</td>
              <td class="textaligncenter">$7581.00</td>
              <td class="textaligncenter">15%</td>
            </tr>
            <tr style = "display:none;" id = "trf2">
              <td><input name="" type="checkbox" value=""></td>
              <td class="textaligncenter"></td>
              <td class="textaligncenter"><a href="#"></a></td>
              <td class="textaligncenter"><img src = "images/icon_boxyellow.png" /></td>
              <td class="textaligncenter">$25.00</td>
              <td class="textaligncenter">$50.00</td>
              <td class="textaligncenter">$50.00</td>
              <td class="textaligncenter">$50.00</td>
              <td class="textaligncenter">511</td>
              <td class="textaligncenter">$2948.00</td>
              <td class="textaligncenter">$4815.00</td>
              <td class="textaligncenter">10%</td>
            </tr>

            <!-- Expander Data End -->

            <tr>
              <td><input name="" type="checkbox" value=""></td>
              <td class="textaligncenter">Demo Name</td>
              <td class="textaligncenter"><a href="#"></a></td>
              <td class="textaligncenter"><img src = "http://www.iconfinder.com/icons/14227/download/png/16" style = "padding-left:3px;" id = "tdg"/></td>
              <td class="textaligncenter">$30.00</td>
              <td class="textaligncenter">$60.00</td>
              <td class="textaligncenter">$60.00</td>
              <td class="textaligncenter">$60.00</td>
              <td class="textaligncenter">451</td>
              <td class="textaligncenter">$6845.00</td>
              <td class="textaligncenter">$2582.00</td>
              <td class="textaligncenter">30%</td>
            </tr>

            <!-- Expander Data Start -->

            <tr style = "display:none;" id = "trg1">
              <td><input name="" type="checkbox" value=""></td>
              <td class="textaligncenter"></td>
              <td class="textaligncenter"><a href="#"></a></td>
              <td class="textaligncenter"><img src = "images/icon_boxred.png" /></td>
              <td class="textaligncenter">$25.00</td>
              <td class="textaligncenter">$50.00</td>
              <td class="textaligncenter">$50.00</td>
              <td class="textaligncenter">$50.00</td>
              <td class="textaligncenter">255</td>
              <td class="textaligncenter">$3284.00</td>
              <td class="textaligncenter">$7581.00</td>
              <td class="textaligncenter">15%</td>
            </tr>
            <tr style = "display:none;" id = "trg2">
              <td><input name="" type="checkbox" value=""></td>
              <td class="textaligncenter"></td>
              <td class="textaligncenter"><a href="#"></a></td>
              <td class="textaligncenter"><img src = "images/icon_boxyellow.png" /></td>
              <td class="textaligncenter">$25.00</td>
              <td class="textaligncenter">$50.00</td>
              <td class="textaligncenter">$50.00</td>
              <td class="textaligncenter">$50.00</td>
              <td class="textaligncenter">511</td>
              <td class="textaligncenter">$2948.00</td>
              <td class="textaligncenter">$4815.00</td>
              <td class="textaligncenter">10%</td>
            </tr>

            <!-- Expander Data End -->

            <tr>
              <td><input name="" type="checkbox" value=""></td>
              <td class="textaligncenter">Demo Name</td>
              <td class="textaligncenter"><a href="#"></a></td>
              <td class="textaligncenter"><img src = "http://www.iconfinder.com/icons/14227/download/png/16" style = "padding-left:3px;" id = "tdh"/></td>
              <td class="textaligncenter">$35.00</td>
              <td class="textaligncenter">$70.00</td>
              <td class="textaligncenter">$70.00</td>
              <td class="textaligncenter">$70.00</td>
              <td class="textaligncenter">618</td>
              <td class="textaligncenter">$956.00</td>
              <td class="textaligncenter">$6521.00</td>
              <td class="textaligncenter">8%</td>
            </tr>

            <!-- Expander Data Start -->

            <tr style = "display:none;" id = "trh1">
              <td><input name="" type="checkbox" value=""></td>
              <td class="textaligncenter"></td>
              <td class="textaligncenter"><a href="#"></a></td>
              <td class="textaligncenter"><img src = "images/icon_boxred.png" /></td>
              <td class="textaligncenter">$25.00</td>
              <td class="textaligncenter">$50.00</td>
              <td class="textaligncenter">$50.00</td>
              <td class="textaligncenter">$50.00</td>
              <td class="textaligncenter">255</td>
              <td class="textaligncenter">$3284.00</td>
              <td class="textaligncenter">$7581.00</td>
              <td class="textaligncenter">15%</td>
            </tr>
            <tr style = "display:none;" id = "trh2">
              <td><input name="" type="checkbox" value=""></td>
              <td class="textaligncenter"></td>
              <td class="textaligncenter"><a href="#"></a></td>
              <td class="textaligncenter"><img src = "images/icon_boxyellow.png" /></td>
              <td class="textaligncenter">$25.00</td>
              <td class="textaligncenter">$50.00</td>
              <td class="textaligncenter">$50.00</td>
              <td class="textaligncenter">$50.00</td>
              <td class="textaligncenter">511</td>
              <td class="textaligncenter">$2948.00</td>
              <td class="textaligncenter">$4815.00</td>
              <td class="textaligncenter">10%</td>
            </tr>

            <!-- Expander Data End -->

            <tr>
              <td><input name="" type="checkbox" value=""></td>
              <td class="textaligncenter">Demo Name</td>
              <td class="textaligncenter"><a href="#"></a></td>
              <td class="textaligncenter"><img src = "http://www.iconfinder.com/icons/14227/download/png/16" style = "padding-left:3px;" id = "tdi"/></td>
              <td class="textaligncenter">$44.00</td>
              <td class="textaligncenter">$88.00</td>
              <td class="textaligncenter">$88.00</td>
              <td class="textaligncenter">$88.00</td>
              <td class="textaligncenter">426</td>
              <td class="textaligncenter">$7581.00</td>
              <td class="textaligncenter">$2579.00</td>
              <td class="textaligncenter">15%</td>
            </tr>

            <!-- Expander Data Start -->

            <tr style = "display:none;" id = "tri1">
              <td><input name="" type="checkbox" value=""></td>
              <td class="textaligncenter"></td>
              <td class="textaligncenter"><a href="#"></a></td>
              <td class="textaligncenter"><img src = "images/icon_boxred.png" /></td>
              <td class="textaligncenter">$25.00</td>
              <td class="textaligncenter">$50.00</td>
              <td class="textaligncenter">$50.00</td>
              <td class="textaligncenter">$50.00</td>
              <td class="textaligncenter">255</td>
              <td class="textaligncenter">$3284.00</td>
              <td class="textaligncenter">$7581.00</td>
              <td class="textaligncenter">15%</td>
            </tr>
            <tr style = "display:none;" id = "tri2">
              <td><input name="" type="checkbox" value=""></td>
              <td class="textaligncenter"></td>
              <td class="textaligncenter"><a href="#"></a></td>
              <td class="textaligncenter"><img src = "images/icon_boxyellow.png" /></td>
              <td class="textaligncenter">$25.00</td>
              <td class="textaligncenter">$50.00</td>
              <td class="textaligncenter">$50.00</td>
              <td class="textaligncenter">$50.00</td>
              <td class="textaligncenter">511</td>
              <td class="textaligncenter">$2948.00</td>
              <td class="textaligncenter">$4815.00</td>
              <td class="textaligncenter">10%</td>
            </tr>

            <!-- Expander Data End -->

          </table>

Jquery代码

// Table jquery code start

$("#tda").click(function () {
    $("#tra1").slideToggle("slow");
    $("#tra2").slideToggle("slow");
});
$("#tdb").click(function () {
    $("#trb1").toggle("slow");
    $("#trb2").toggle("slow");
});
$("#tdc").click(function () {
    $("#trc1").toggle("slow");
    $("#trc2").toggle("slow");
});
$("#tdd").click(function () {
    $("#trd1").toggle("slow");
    $("#trd2").toggle("slow");
});
$("#tde").click(function () {
    $("#tre1").toggle("slow");
    $("#tre2").toggle("slow");
});
$("#tdf").click(function () {
    $("#trf1").toggle("slow");
    $("#trf2").toggle("slow");
});
$("#tdg").click(function () {
    $("#trg1").toggle("slow");
    $("#trg2").toggle("slow");
});
$("#tdh").click(function () {
    $("#trh1").toggle("slow");
    $("#trh2").toggle("slow");
});
$("#tdi").click(function () {
    $("#tri1").toggle("slow");
    $("#tri2").toggle("slow");
});

// Table jquery code end

3 个答案:

答案 0 :(得分:1)

Baber提供了一个指向mrtsherman的jsfiddle代码的链接。将其修改为:

$('tr').not(':first').children('td').wrapInner('<div>');

$('button').click( function() {
    $('tr').not(':first').slideToggle();
    $('td > div').slideToggle();
});

使其切换。

答案 1 :(得分:0)

更新了您的jsfiddle代码,请参阅此链接&gt; http://jsfiddle.net/d5hWe/31/

$('tr.main').click(function() {
  $(this).nextUntil("tr.main").delay(1000).slideToggle("slow");
});


//To expand all rows for the table... 
$('tr.main').click(function() {
  $(this).nextAll('.child').delay(1000).slideToggle("slow");
});

您的父行现在有一个“main”类,子行具有“child”类

我添加了2个使用slideToggle的函数,并且都通过单击父行的任何位置来工作。单击父行将设置1秒延迟,然后该父项的子行将向上/向下切换。

我还添加了一个注释掉的函数,该函数将滑动切换所有子行,而不管在需要的情况下单击哪个父行。


看一下这个答案,它还有一个jsfiddle,它显示了一个更平滑的表格行幻灯片。

Implementing a slide down for table rows

归功于mrtsherman

答案 2 :(得分:0)

混合所有提示,我做了一个简单的fiddle,只对桌面行进行了slideToggle效果。

只需将类名称toToggle提供给您要切换的行,并将其内容包装在像typhon建议的div中一样:

$('.toToggle').children('td').wrapInner('<div class="toToggle"></div>');

div的课程可以与&#39; tr&#39; class,所以你可以用一个简单的jQuery行来切换它们:

$('.toToggle').toggle(2000);

(我已经为slideToggle效果添加了这个答案,在其他答案中有点不清楚,并且难以找到谷歌搜索。要仅切换特定行,请参阅其他有用的答案。)< / em>的