【问题标题】:JQuery not working in Chrome but Firefox is fineJQuery 在 Chrome 中不起作用,但 Firefox 很好
【发布时间】:2012-08-12 06:33:13
【问题描述】:

我在使用简单的 Javascript 代码时遇到了麻烦,该代码在 Firefox 中运行而不是在 Chrome 中运行。

这是我的功能

function ToggleArrow(id1, id2)
{
    var display = window.getComputedStyle(id1).getPropertyValue('display');

    if (display=="none") {
        $(id2).fadeToggle(100, function(){$(id1).fadeToggle(100);});
    } else {
        $(id1).fadeToggle(100, function(){$(id2).fadeToggle(100);});
    }
}

Chrome 实际上甚至没有通过第一行。

【问题讨论】:

  • 你有 jsfiddle 或类似的东西让我们看看吗?
  • 不,它是动态内容,但我可以在 jsfiddle 中复制它。与此同时,您知道 Chrome 会出现什么问题吗?
  • 为什么不用jQuery $(id1).css(display); 来获取显示属性?

标签: javascript jquery google-chrome


【解决方案1】:

由于您使用的是 jQuery,您可以使用 .is(':visible')

function ToggleArrow(id1, id2)
{
    if (!$(id1).is(':visible')) // If not visible
        $(id2).fadeToggle(100, function(){$(id1).fadeToggle(100);});
    else 
        $(id1).fadeToggle(100, function(){$(id2).fadeToggle(100);});
}

Simple DEMO.

【讨论】:

  • 谢谢,很高兴知道,我试过了,但又一次在 FF 中像魅力一样工作,但 Chrome 只是忽略了它。当我删除函数的内容并执行 sipmle alert("here") 时,我也在 chrome 中得到响应,但 Jquery 根本无法在 chrome 中工作。
  • 你能把你的html贴在这里,id1和id2的元素,或者做一个jsFiddle吗?
  • 问题已解决。 id1 和 id2 是图像标签,我将它们放在 div 包装器中,现在它也可以在 chrome 中使用。
猜你喜欢
  • 1970-01-01
  • 2010-11-06
  • 2012-06-14
  • 1970-01-01
  • 1970-01-01
  • 2011-08-03
  • 1970-01-01
  • 2017-04-15
  • 2011-03-10
相关资源
最近更新 更多