Monday, June 3, 2024
 Popular · Latest · Hot · Upcoming
123
rated 0 times [  124] [ 1]  / answers: 1 / hits: 38686  / 13 Years ago, wed, july 6, 2011, 12:00:00

I am building a custom jQuery plugin which allows the user to delete records within a table in real-time, among many other things. When the records are deleted, I would like the the background-color of the deleted table row to turn red, then slide up out of view.



Here is a snippet of my code below, which doesn't do any of the color changing animation, nor does it slide up the row. However, it does delete the row when what is supposed to be the slide up animation, finishes. Some things to know when reviewing the code below:




  1. The object variable is a jQuery reference to the object which was clicked and triggered the delete operation.

  2. The object.parent().parent() object is the row which is being deleted.

  3. The deleteHighlight CSS class contains the color which will turn the row a red color.

  4. The addClass method uses jQueryUI's addClass method, not jQuery's. It allows an animated effect and a callback.






object.parent().parent().addClass('deleteHighlight', 1000, function() {
//Fold the table row
$(this).slideUp(1000, function() {
//Delete the old row
$(this).remove();
});
});


Here is the HTML on which this is being executed, nothing special:



<table class=dataTable>
<thead>
<tr>
<th>&nbsp;</th>
<th>Title</th>
<th>Content Snapshot</th>
<th>Management</th>
</tr>
</thead>

<tbody>
<tr class=odd id=11 name=1>
<td class=center width50><a class=dragger></a><a class=visibilityTrigger eyeShow></a></td>
<td class=center width150>Title</td>
<td>
<div class=clipContainer>Content</div>
<div class=hide contentContainer>Content</div>
<div class=hide URLContainer>my-url</div>
</td>
<td class=center width75><a class=edit></a><a class=delete></a></td>
</tr>
</tbody>
</table>


Could someone please provide an example of how I can fix this?



Thank you for your time.


More From » jquery

 Answers
8

I suspect this is partly a browser issue.
You shouldn't really target <tr />'s since browsers interpret them differently. Additionally they behave differently than block elements.



In this example: http://jsfiddle.net/lnrb0b/3t3Na/1/ your code works partially in chrome. The <tr /> is allowed styling (unlike in some IE versions) but you can't animate it. If you make it display:block no worries, but then it's a bit rubbish as a table :)



In this example: http://jsfiddle.net/lnrb0b/3t3Na/2/ you'll see I've animated the <td />'s but they barely work and painfully slowly at that.



Have a test of those and I'll try think of a solution in the meantime.


[#91327] Tuesday, July 5, 2011, 13 Years  [reply] [flag answer]
Only authorized users can answer the question. Please sign in first, or register a free account.
leandraannabellar

Total Points: 255
Total Questions: 89
Total Answers: 89

Location: England
Member since Sun, May 21, 2023
1 Year ago
;