2010-03-30 65 views
1

好日子大家,希望揭掉所有的乐队真棒如何功能检测特定的jQuery(和JavaScript)/测试方法/函数使用

很新的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.support的jQuery的的,但我发现自己遇到了概念上的问题吧,即对于淡入/ fadeout,我(想我)应该测试$ .support.opacity,但这将是错误的,即ie6 +仍然可以公平地呈现淡化。

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

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

所以你们如何认为我应该去做这件事?或者我应该甚至?有没有更好的方法去确保我不运行最终会破坏页面的代码?我已经设置它降低到一个CSS悬停当JavaScript不存在..

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

回答

0

使用以下方法来检查jQuery的功能是否可用,例如用于追加:

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

这检查,看看是否插件已经安装的代码所依赖的是非常有用的。

+0

甜!我会记住这一点。尽管如此,这些函数是内置到jquery 1.2.6中的。所以我会做如果然后检查存在,但我还需要一些东西来检查功能是否会按预期工作。 当我用opera 7.54测试时,我对这种行为变得敏感。 if-then存在检查工作,但它不会正确显示淡入/淡出。当你点击链接时会发生滑稽的事情。 有什么办法可以检查更多的存在,就像fxn会按预期工作一样吗? tnx用于bein耐心与noob。 :] – Zildjoms 2010-03-30 22:50:04

+0

基本没有。我只会使用1.4.2。性能得到改善,Google Closure编译器可以很好地缩小代码。 Theres从1.2.6版本到更高版本发生了很大的变化,但是在此之后,功能就稳定下来了。严重的是,除非你必须坚持使用旧版本,否则不要在脚下拍摄自己。 – 2010-03-30 22:55:20

+0

真棒!这是正确的链接 - http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js?所以对于我正在使用的jquery函数(一个非常有限的列表,顺便说一句),它仍然是完全值得我移动到更高的版本,对不对?有趣的是,我使用它,发现我的网页在ff/ie/opera/safari/seamonkey(希望在其他浏览器中应该可以)按预期工作,但是它完全降级到我的CSS 7.54歌曲悬停(希望在其他浏览器它不应该工作)。多数民众赞成在甜!内置于1.4.2的能力检查功能是什么?你是一个天才,男人! – Zildjoms 2010-03-30 23:21:46