如何使用特定的jQuery(和Javascript)方法/函数进行功能检测/测试

时间:2010-03-30 22:06:06

标签: javascript jquery testing detect

大家好日子,希望你们都做得很棒

我对javascript和jquery很新,而我(想)我在网站上提出了一个简单的淡入/淡出实现(查看http://www.s5ent.com/expandjs.html - 如果你有时间检查它是否效率低下或者真正的甜点。我使用以下函数/方法/集合,我想在使用它们之前进行功能测试。嗯..怎么样?还是有更好的方法来解决这个问题?

的jQuery

$
.fadeIn([duration])
.fadeOut([duration])
.attr(attributeName,value)
.append(content)
.each(function(index,Element))
.css(propertyName,value)
.hover(handlerIn(eventObject),handlerOut(eventObject))
.stop([clearQueue],[jumpToEnd])
.parent()
.eq(index)

的JavaScript

setInterval(expression,timeout)
clearInterval(timeoutId)
setTimeout(expression,timeout)
clearTimeout(timeoutId)

我试着查看jquery的支持jquery.support,但我发现自己遇到了它的概念性问题,即对于fadein / fadeout,我(想想我)应该测试$ .support.opacity,但那会是假,即ie6 +仍然可以公平地呈现淡出。

也正在使用jquery 1.2.6因为这足以满足我的需要。支持对象在1.3中。所以我希望尽可能避免拖入更多不必要的代码。

我也使用浏览器嗅探,无论多么皱眉。但这对我来说也是一个更大的问题,因为非标准的ua字符串和欺骗以及其他一切都不知道。

所以你们怎么认为我应该这样做?或者我应该吗?有没有更好的方法来确保我不运行最终会破坏页面的代码?当javascript不存在时,我已将其设置为降级为css悬停..

需要专业知识。非常感谢,谢谢你们!

1 个答案:

答案 0 :(得分:0)

使用以下内容检查jquery函数是否可用,例如for append:

if ($.fn.append) $('div').append('Hello world');

这有助于检查代码所依赖的插件是否已安装。