Я был в этом в течение многих часов, но это просто не работает. Я пытаюсь получить работу ToggleJS, пользующуюся библиотекой Effects Scriptaculous. А именно, пример: http://wiseheartdesign.com/page_attachments/0000/0075/demo.html.
Я получил его работающий красиво использование чистого файла HTML под названием new.html. Я затем преобразовал его в new.html.erb, таким образом, я могу включить некоторые анимации в мой проект направляющих, и это прекратило работать!
Я попробовал и HTML и рубиновые теги JavaScript, но ни один не работает, например:
<%= javascript_include_tag "application", "prototype", "effects", "lowpro", "toggle" %>
Тело страницы отображается на браузере, но без анимаций. Я удостоверился, что мои файлы JavaScript совпадают с демонстрацией (плюс, файл HTML работает с ними так или иначе). Вы знаете, где проблема могла бы быть связана здесь с моим .erb файлом?
Образец HTML я использую:
Toggle.LinkBehavior
#Application.js
Event.addBehavior({
'a.toggle': Toggle.LinkBehavior(),
'a.inverted_toggle': Toggle.LinkBehavior({invert: true}),
'a.open': Toggle.LinkBehavior({
effect: 'blind',
onLoad: function(link) {
this.toggle();
},
beforeToggle: function(link) {
link.innerHTML = (link.innerHTML == "Open") ? "Opening..." : "Closing...";
},
afterToggle: function(link) {
link.innerHTML = (link.innerHTML == "Opening...") ? "Close" : "Open";
}
}),
'form input.checkbox.toggle': Toggle.CheckboxBehavior(),
'form input.checkbox.inverted_toggle': Toggle.CheckboxBehavior({invert: true}),
'form .radio_group.toggle': Toggle.RadioGroupBehavior({effect: 'blind'}),
'form select.toggle': Toggle.SelectBehavior()
});
Eimantas, я - общий новичок в этом. Я добавил к своему документу HTML следующее, но он не работал:
Это то, что Вы имеете в виду, или можно ли сказать мне, что кодирует, я должен записать в своем .html.erb файле?
Можете ли вы вставить сгенерированный HTML-код для файлов javascript?
Я думаю, ваш toggle.js
загружается позже, чем файл application.js
, поэтому если application.js
содержит весь код ловушки ( window.onload ...
) для эффекта переключения, он завершится неудачно, поскольку сама библиотека еще не загружена.
ОБНОВЛЕНИЕ:
Вот как вы добавляете Event.addBehavior
к загрузке окна:
<script type="text/javascripts">
window.onload = function() {
Event.addBehavior({
// all params and code.
});
}
</script>
Вы должны проверить документацию по прототипу, чтобы выполнить функцию стиля прототипа window.onload
.