在slidetoggle上更改图像(加号或减号)?

时间:2014-03-27 05:58:00

标签: jquery html toggle slidetoggle

这是我的HTML代码:http://jsfiddle.net/Udxyb/417/

在上面的代码中,当切换效果生效时,我想添加一个图像(例如加上或减去图像')

<table id="main_table">
    <thead>
        <tr class="firstline">
            <th>Column1</th>
            <th>Column2</th>
            <th>Column3</th>
            <th>Column4</th>
        </tr>
    </thead>
    <tbody>
        <tr style="width:1002px; background-color:green; color:white">
            <td  colspan="" class="flip"> Section 1 </td>
             <td  colspan="" class="flip"> Section 1 </td>
             <td  colspan="" class="flip"> Section 1 </td>
             <td  colspan="" class="flip"> Section 1 </td>
        </tr>
    </tbody>
    <tbody class="section">
        <tr>
            <td>item 111</td>
            <td>item 112</td>
            <td>item 113</td>
            <td>item 114</td>





        </tr>
        <tr>
            <td>item 121</td>
            <td>item 122</td>
            <td>item 123</td>
            <td>item 124</td>
        </tr>
        <tr>
            <td>item 131</td>
            <td>item 132</td>
            <td>item 133</td>
            <td>item 134</td>
        </tr>
    </tbody>
    <tbody>
        <tr style="background-color:green; color:white">
            <td  colspan="" class="flip"> Section 2 </td>
             <td  colspan="" class="flip"> Section 2 </td>
             <td  colspan="" class="flip"> Section 2 </td>             <td  colspan="" class="flip"> Section 2 </td>
        </tr>
    </tbody>
    <tbody class="section">
        <tr>
            <td>item 211</td>
            <td>item 212</td>
            <td>item 213</td>
            <td>item 214</td>
        </tr>
        <tr>
            <td>item 221</td>
            <td>item 222</td>
            <td>item 223</td>
            <td>item 224</td>
        </tr>
        <tr>
            <td>item 231</td>
            <td>item 232</td>
            <td>item 233</td>
            <td>item 234</td>
        </tr>
    </tbody>
    <tbody>
        <tr style="background-color:green; color:white">
             <td  colspan="" class="flip"> Section 3 </td>
             <td  colspan="" class="flip"> Section 3 </td>
             <td  colspan="" class="flip"> Section 3 </td>
             <td  colspan="" class="flip"> Section 3 </td>
        </tr>
    </tbody>
    <tbody class="section">
        <tr>
            <td>item 311</td>
            <td>item 312</td>
            <td>item 313</td>
            <td>item 314</td>
        </tr>
        <tr>
            <td>item 321</td>
            <td>item 322</td>
            <td>item 323</td>
            <td>item 324</td>
        </tr>
        <tr>
            <td>item 331</td>
            <td>item 332</td>
            <td>item 333</td>
            <td>item 334</td>
        </tr>
    </tbody>
</table>

jQuery的:

<script type="text/javascript">
jQuery(function($) {


    $("#polls").on("click", ".flip", function() {

        $(this)

            .closest('tbody')
            .next('.section')
            .toggle('fast');
    });
});
</script> 

在这个jquery中我已经完成了编码以获取切换效果以及我希望图像改变???

2 个答案:

答案 0 :(得分:1)

试试这个。

$('.flip').click(function() {
    var $$ = $(this);
      $$.closest('tbody')
        .next('.section')
        .toggle('fast');
    if(!$$.hasClass('active')){
        $$.parent().find('span.plus').hide()
        .end().find('.minus').show();
        $$.addClass('active');
    } else {
        $$.parent().find('.plus').show()
        .end().find('.minus').hide();
        $$.removeClass('active');
    }
});

Fiddle Demo

答案 1 :(得分:0)

您可以使用带有jQuery的toggleClass()来更改元素的背景图像。例如,如果要更改单击的<tr>

的背景颜色
$('.flip').click(function() {
    $(this).parent().toggleClass('opened');
});

小提琴:http://jsfiddle.net/Udxyb/450/