谷歌闭包中的jQuery .toggle()等价物

时间:2013-07-31 12:55:33

标签: javascript jquery google-closure google-closure-library

我正在重写我的一些javascript文件以摆脱jQuery并改为使用Google Closure。我有一个日期选择器,用户可以切换显示或隐藏。目前正在使用以下代码:

if (this.open == open)
    return false;

$(this.elDatePicker).toggle(open);
this.open = open;
return true;

其中el.DatePicker是里面有日期选择器的元素,在本例中是div。

我正在寻找一种方法来重写这段代码,将jQuery更改为Google Closure。任何想法都应该如何实现?

4 个答案:

答案 0 :(得分:1)

你应该能够做到

goog.style.showElement(this.elDatePicker, !goog.style.isElementShown(this.elDatePicker));

来源: Google Closure Style.js Doc

答案 1 :(得分:1)

供参考

没有参数,.toggle()方法只是切换元素的可见性:

来源:http://api.jquery.com/toggle/

如果是,则设置display无或visibility:隐藏/可见。应该足够了。

您可以使用goog.style.setStyle(element, style, opt_value)

这是一个jsbin链接:http://jsbin.com/ENOX/3/

答案 2 :(得分:1)

如果要切换特定的CSS clas,可以使用:

goog.dom.classlist.toggle(element, 'className');

答案 3 :(得分:0)

您可以使用没有标题元素的Zippy类

this.zippy = new goog.ui.AnimatedZippy(null, this.elDatePicker);

(...)

this.zippy.setExpanded(open)