2011-04-03 57 views
0

我正在编写一个扩展,它将覆盖我们经常使用的网站上的一些jquery动画,即UI很差。测试元素是否可见或关闭幻灯片动画

他们有这样的slideUp和slideDown的动画需要6秒钟来做,我试图重写。我要么测试一下,看网站上的某个元素是否被隐藏/隐藏(如果隐藏/隐藏 - 显示它),或者只是覆盖幻灯片动画。

有没有办法不断测试一个对象的可见性?或者是否有一种方法可以在整个页面中简单地转换“幻灯片”动画而不覆盖整个功能(它具有Ajax回调和类似的项目)?

回答

1

您可以使用jQuery.fx.interval属性全局更改动画速度,或使用jQuery.fx.off关闭所有动画。

随着Chrome扩展内容脚本沙箱,不能访问父页面的变量,你需要的<script>标签与您的代码注入到页面:

content_script.js

function injectJs(link) { 
    var scr = document.createElement("script"); 
    scr.type="text/javascript"; 
    scr.src=link; 
    (document.head || document.body || document.documentElement).appendChild(scr); 
} 

injectJs(chrome.extension.getURL("inject.js")); 

inject.js

jQuery.fx.off = true; 
+0

很好的建议!我认为这大致上是我乍一看所需要的。我确实有一个问题,在按下提交表单时,成功消息会在消失前显示5秒钟。我不认为这是一个动画(bc动画被转换),而是一个超时和等待的事情。对此有何建议? – bradenkeith 2011-04-05 18:52:17

+1

@bradenkeith你只需要检查它是什么 - 超时或动画,并没有太多我可以帮你。 – serg 2011-04-05 19:50:41