Scriptaculous的Effect.Morph可以接受一個CSS類並在一段時間內應用它。我有一個div,當點擊一個按鈕時會展開,所以它使用Effect.Morph來應用一個.expanded
類。如何使用Scriptaculous的Effect.Morph關閉課程?
現在我想在第二次點擊時刪除.expanded
類,再次關閉div。我怎樣才能調用Effect.Morph來做到這一點?
Scriptaculous的Effect.Morph可以接受一個CSS類並在一段時間內應用它。我有一個div,當點擊一個按鈕時會展開,所以它使用Effect.Morph來應用一個.expanded
類。如何使用Scriptaculous的Effect.Morph關閉課程?
現在我想在第二次點擊時刪除.expanded
類,再次關閉div。我怎樣才能調用Effect.Morph來做到這一點?
的文件說,這大約Effect.Morph:
這種效應改變的CSS屬性的元素 。
所以,你會需要再次調用它,指定初始CSS屬性,使你的DIV可以恢復到初始狀態,例如(再次,從文檔):
<div id="morph_demo" style="background:#cccccc; width:100px; height:100px;"></div>
<ul>
<li><a href="#" onclick="$('morph_demo').morph('background:#00ff00; width:300px;'); return false;">Click me for a demo!</a></li>
<li><a href="#" onclick="$('morph_demo').morph('background:#cccccc; width:100px;'); return false;" >Reset the demo!</a></li>
</ul>
另外,你可以使用原型來remove the class altogether:
$('yourDivId').removeClassName('yourClassId');
Scriptaculous的取決於Prototype.js,如果你不知道的,所以第二個選項是可行的。
最後,您可以set the style不了了之(我認爲):
$('yourDivId').setStyle(null);
是的,看起來答案是它不能用變形效果來完成(沒有重申元素的所有樣式而沒有應用類,這不是非常乾燥)。不過,我已經擴展了Effect.Morph來做我想做的事情,所以我會將一個補丁推到Scriptaculous上。 – Peeja 2009-07-08 14:38:40
你應該透過這裏的路徑,或Scriptaculous的頁面上的鏈接。我遇到了同樣的問題,並且路徑會很有用 – Quamis 2011-03-04 15:29:46