Internet Explorer 上的 jQuery 悬停效果问题

发布于 2024-11-07 19:16:37 字数 845 浏览 3 评论 0 原文

我基本上编写了自己的 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();
});

这是一个基本的悬停效果,让我大吃一惊!你有什么想法吗???

最好的,

I basically wrote my own jQuery hover effect plugin that works in all browsers except in IE(9,8,7)....

Here is the link : http://www.fiver.org/web/testing
This is the code:

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();
});

it's a basic hover effect that's cracking my head! do you have any ideas???

Best,

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

假装爱人 2024-11-14 19:16:37

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[])

IE-s getElementsByName has some problems, i wouldn't rely on it.

Try to give those elements a class, instead of name, and select them with jQuery.

Example

HTML:

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

Selecting them with JQuery, and assigning events:

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

This will also get rid of an extra iterating through the DOM and the using of needless arrays (hoverEffect[])

坠似风落 2024-11-14 19:16:37

尝试使用 opacity:.00 而不是 opacity:0

当使用 .00 作为零不透明度而不是 0 时,jQuery 不透明度动画效果更好。我无法真正解释并找到任何文档为什么会这样,但它过去解决了我的问题。

另外,有关此脚本中不起作用的内容的更多信息也会有所帮助:)

Try using opacity:.00 instead of opacity:0

jQuery opacity animations work better when using .00 as zero opacity instead of 0. I can't really explain and find any documentation why this is, but it had fixed my problems in the past.

Also a little more information about what doesn't work in this script would help :)

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文