0

私は基本的に、IE(9,8,7) を除くすべてのブラウザーで動作する独自の jQuery ホバー効果プラグインを作成しました...

ここにリンクがあります: 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();
});

それは私の頭を割っている基本的なホバー効果です! あなたはなにか考えはありますか???

一番、

4

2 に答える 2

0

IE-s 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[]) の使用もなくなります。

于 2011-05-17T16:14:48.637 に答える
-1

opacity:0 の代わりに opacity:.00 を使用してみてください

.00 を 0 ではなく 0 の不透明度として使用すると、jQuery の不透明度アニメーションがうまく機能します。これがなぜなのかを説明したり、ドキュメントを見つけたりすることはできませんが、過去の問題は解決していました。

また、このスクリプトで何が機能しないかについてのもう少しの情報が役立ちます:)

于 2011-05-17T16:08:35.063 に答える