2009-07-07 6 views
1

Scriptaculous's Effect.Morph может принимать класс CSS и применять его в течение определенного периода времени. У меня есть div, который расширяется при нажатии кнопки, поэтому он использует Effect.Morph для применения класса .expanded.Как использовать эффект Scriptaculous .Morph отключить класс?

Теперь я хотел бы удалить класс .expanded на второй щелчок, переключив снова div. Как я могу вызвать Effect.Morph для этого?

+0

вы должны заполните путь здесь, или ссылку на Scriptaculous странице. Я столкнулся с той же проблемой и был бы полезен путь – Quamis

ответ

1

В документации сказано это о Effect.Morph:

Этот эффект изменяет свойства CSS элемента.

Таким образом, вы должны были бы назвать его снова, указав начальные свойства CSS, чтобы ваш ДИВ может вернуться в исходное состояние, например, (опять же, из документации):

<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); 
+1

Да, похоже, что ответ не может быть выполнен с эффектом Морфа (без повторения всех стилей элемента без применяемого класса, что не является очень сухой). Однако я расширил Effect.Morph, чтобы делать то, что хочу, поэтому я нажму патч до Scriptaculous. – Peeja

+0

Вы когда-нибудь нажимали этот патч? Как вы его заработаете? Я попытался вызвать $ ('element_id'). Morph ('class_name'), как если бы он был переключен, но, похоже, он всегда добавляет имя класса. – audiodude

+0

У меня не было. Я сейчас выдал запрос на перенос: https://github.com/madrobby/scriptaculous/pull/26 – Peeja

Смежные вопросы