Проблема с зависанием jQuery в Internet Explorer - PullRequest
0 голосов
/ 17 мая 2011

Я в основном написал свой собственный плагин эффекта зависания jQuery, который работает во всех браузерах, кроме IE (9,8,7) ....

Вот ссылка: http://www.fiver.org/web/testing Этокод:

function go()
{

  hoverEffect = document.getElementsByName("hoverEffect");
  for (i=0; i<hoverEffect.length; i++)
  {
    $(hoverEffect[i]).bind('mouseenter', bMouseOver);
    $(hoverEffect[i]).bind('mouseleave', bMouseOut);
  }

  function bMouseOver(e)
  { 
    $(this).find(".fadebox")
      .animate({opacity: 1},
      300);                                         
  }


  function bMouseOut(e)
  { 
    $(this).find(".fadebox")
      .animate({opacity: 0},
      {duration: 'slow'});

  }


}

$(document).ready(function(){
    go();
});

это базовый эффект парения, который ломает мне голову!у тебя есть идеи ???

Best,

Ответы [ 2 ]

0 голосов
/ 17 мая 2011

IE-ы getElementsByName имеет некоторые проблемы, я бы не стал на это полагаться.

Попробуйте дать этим элементам класс вместо имени и выберите их с помощью jQuery.

Пример

HTML:

<div class="hoverEffect">one</div>    
<div class="hoverEffect">two</div>
<div class="hoverEffect">three</div>

Выбор их с помощью JQuery и назначение событий:

$(".hoverEffect").bind('mouseenter', bMouseOver);
$(".hoverEffect").bind('mouseleave', bMouseOut);

Это также избавит от дополнительной итерации через DOM и использованияненужных массивов (hoverEffect [])

0 голосов
/ 17 мая 2011

Попробуйте использовать непрозрачность: .00 вместо непрозрачности: 0

. Анимации непрозрачности jQuery работают лучше при использовании .00 в качестве нулевой непрозрачности вместо 0. Я не могу действительно объяснить и найти документацию, почему это так,но это исправило мои проблемы в прошлом.

Также немного больше информации о том, что не работает в этом скрипте, поможет:)

...