1

I am rewriting some of my javascript files to get rid of the jQuery and use Google Closure instead. I have got a date picker which a user can toggle to show or to hide. At the moment the following code is being used:

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

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

Where el.DatePicker is the element with the date picker inside, in this case a div.

I am looking for a way to rewrite this piece of code to change the jQuery to Google Closure. Any idea's how this should be possible?

4

4 に答える 4

1

あなたはできるはずです

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

出典: Google Closure Style.js Doc

于 2013-07-31T20:16:07.487 に答える
1

参考のため

パラメーターを指定しない場合、.toggle() メソッドは単純に要素の可視性を切り替えます。

ソース: http://api.jquery.com/toggle/

その場合は、displaynone またはvisibility: hidden/visible を設定します。十分なはずです。

goog.style.setStyle(element, style, opt_value)を使用できます

ここに jsbin のリンクがあります: http://jsbin.com/ENOX/3/

于 2013-08-21T21:09:36.287 に答える
0

ヘッダー要素なしで Zippy クラスを使用できます。

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

(...)

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