2010-05-04 6 views
0

Может ли кто-нибудь увидеть, почему IE8 может не запускать этот jQuery?IE8 не нравится мой jQuery

 $("#slid").toggle(
      function() { 
       $("#Silver").animate({top: "25px"}, 200); 
      }, 
      function() { 
       $("#Silver").animate({top: "89px"}, 200); 
      } 
     ); 

Он запускает первую функцию, но игнорирует 2-й top: "89px" и идеи? Или лучший способ добиться такого же эффекта переключения?

+3

IE - это так; Не нравится разработчикам:/ –

+0

У вас есть работы, еще один обработчик событий, связанный с этим? http://jsfiddle.net/HkBku/ –

ответ

1

Я тестировал в IE8 и этот код работает:

CSS

#Silver {top:89px;position:absolute;} 

HTML

<div id="slid">click</div> 
<div id="Silver">hi</div> 

JavaScript

$("#slid").toggle(
    function() { 
     $("#Silver").animate({top: "25px"}, 200); 
    }, 
    function() { 
     $("#Silver").animate({top: "89px"}, 200); 
    } 
); 

Вы можете посмотреть на код здесь: http://jsfiddle.net/kr6t3/4/

Добавление position:absolute к элементу в CSS работает в IE8 и FF3.6 ,

0

Имел аналогичную проблему с IE и переключением. Не могу вспомнить, как я это решил. Но с IE я заметил, что он как селектор классов лучше, чем селектор идентификаторов. Попробуйте использовать класс вместо ID.

Я пробовал:

$("#slid").toggle(
      function() { 
       $("#Silver").html("hello"); 
      }, 
      function() { 
       $("#Silver").html("hi"); 
      } 
     ); 

, кажется, работает нормально с IE6 не знаю о 8.

Смежные вопросы