I would try:
$(document).ready(function() { $("#togglediv").click(function() { // note: do this first because the :hidden test fails if you // do it after triggering a slow animation $("#togglediv").text($("#commentdiv").is(":hidden") ? "Hide" : "Sgiw"); $("#commentdiv").toggle('slow'); }); });
Edit: In response to your comment, this example works fine for me in IE7 / FF3. Note. I had to reverse the order of the expressions when using slow effects. Interesting!
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html> <head> <title>Test</title> <style type="text/css"> #togglediv { padding: 5px; background-color: yellow; } #commentdiv { padding: 5px; background-color: #CCC; height: 100px; } </style> </head> <body> <div id="togglediv">Hide</div> <div id="commentdiv">thanks for answer. but i have tried this code, it was okay. i want to use toggle("slow") effect. this effect is runing firefox, but not ie is it a bug?</div> <script type="text/javascript" src="jquery-1.3.1.js"></script> <script type="text/javascript"> $(function() { $("#togglediv").click(function() { $("#togglediv").text($("#commentdiv").is(":hidden") ? "Hide" : "Show"); $("#commentdiv").toggle('slow'); }); }); </script> </body> </html>
source share