1

我正在重写我的一些 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

4 回答 4

1

以供参考

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

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

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

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

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

于 2013-08-21T21:09:36.287 回答
1

你应该能够做到

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

来源: Google Closure Style.js 文档

于 2013-07-31T20:16:07.487 回答
1

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

goog.dom.classlist.toggle(element, 'className');
于 2015-06-19T14:13:18.497 回答
0

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

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

(...)

this.zippy.setExpanded(open)
于 2013-08-08T15:33:53.967 回答