2011-04-06 78 views
0

下面是我的jQuery代碼:JQuery的切換問題在IE8

$("#contact").live('click', function(event) { 
          $(this).addClass("selected").parent().append('<form name="emailform"><div class="messagepop pop"><p><label for="sname">Your Name</label><input type="text" size="30" name="sname" id="sname" /></p><p><label for="email">Your Email</label><input type="text" size="30" name="email" id="email" /></p><p><input type="submit" value="Send Reservation Summary" name="commit" id="message_submit" class="btn"/>&nbsp;&nbsp;<button class="btn close">Cancel</button></p></div></form>'); 
          $(".pop").slideFadeToggle(function() { 
           $("#sname").focus(); 
          }); 
          return false; 
         }); 

$.fn.slideFadeToggle = function(easing, callback) { 
          return this.animate({ opacity: 'toggle', height: 'toggle' }, "fast", easing, callback); 
         }; 

從上面的代碼,當我點擊一個按鈕,彈出框將彈出一些幻燈片動畫,它正常工作與其他瀏覽器不同之處在IE8中,有誰能夠告訴我在哪裏我做出了錯誤的轉彎

感謝

回答

1

我找到了解決辦法

添加$.fn.slideFadeToggle = function(easing, callback) { return this.animate({ opacity: 'toggle', height: 'toggle' }, "fast", easing, callback); };

$("#contact").live('click', function(event) { 
         $(this).addClass("selected").parent().append('<form name="emailform"><div class="messagepop pop"><p><label for="sname">Your Name</label><input type="text" size="30" name="sname" id="sname" /></p><p><label for="email">Your Email</label><input type="text" size="30" name="email" id="email" /></p><p><input type="submit" value="Send Reservation Summary" name="commit" id="message_submit" class="btn"/>&nbsp;&nbsp;<button class="btn close">Cancel</button></p></div></form>'); 
         $(".pop").slideFadeToggle(function() { 
          $("#sname").focus(); 
         }); 
         return false; 
        }); 

現在工作得很好:)