我正在寫一個jQuery插件,我希望我的代碼能夠利用jQuery UI show(effect, [options], [speed], [callback])
和hide(effect, [options], [speed], [callback])
函數,這些函數允許您以良好的動畫顯示和隱藏元素。如何檢查某個特定的jQuery UI功能是否可用,如果不是,請使用其他功能?
但是,如果jQuery UI不可用,我還想讓我的插件優雅地退化,切換回使用標準jQuery API中的基本非動畫show()
和hide()
函數。
我需要特別測試顯示和隱藏功能,因爲即使jQuery UI 爲可用,它也可能是一個自定義版本,不包括Effects組件。
起初我還以爲我也許可以這樣做:
if(typeof myelement.show('blind', 'slow') == 'undefined')
{
myelement.show('blind', 'slow');
}
else
{
myelement.show();
}
不過,當然,這並不工作,因爲即使UI不存在,show()
仍然是一個函數,它只是有不同的簽名 - 所以在任何一種情況下,typeof
都會返回object
。
那麼,我檢查jQuery UI是否可用於我的插件的最佳方式是什麼?任何幫助深表感謝!
太好了,謝謝 - 正是我在找的東西。我很驚訝,函數不是jQuery的一部分;這對插件作者來說必定是一個相當普遍的要求。 – 2010-06-18 08:55:07