I do not know if this is what you are going to do, but visually it works.
HTML
<div class="item-list"> <ul> <li class="article"> <div class="column"> Column 1<br/> <a href="#" class="expand">toggle</a><br/> </div> <div class="column expandableColumn"> <p>Column 2 content</p> </div> </li> </ul> </div>
Js
$(document).ready(function() { $('.expandableColumn p').hide(); $('.expand').click(function() { if ($(this).hasClass('.expanded')) { $('.expandableColumn').animate({ 'width': '0px' }); $('.expandableColumn p').hide(); } else { $('.expandableColumn').animate({ 'width': '100px' }); $('.expandableColumn p').show(); } $(this).toggleClass('.expanded') }) });
I wrapped the text of column 2 with <p> , then added hide () and show () (you could switch or something else that was done quickly) to shoot when you change the width of another div.
It seems you need to work the way you need in Safari.
Here's the fiddle .
Jason source share