私はこれに何時間も取り組んできましたが、うまくいきません。Scriptaculous の Effects ライブラリを使用して ToggleJS を機能させようとしています。具体的には、例: http://wiseheartdesign.com/page_attachments/0000/0075/demo.html .
new.html と呼ばれる純粋な html ファイルを使用して、美しく動作するようにしました。それから new.html.erb に変換して、いくつかのアニメーションを自分の Rails プロジェクトに組み込むことができるようにしましたが、動作しなくなりました!
HTML タグと Ruby JavaScript タグの両方を試しましたが、どちらも機能しません。次に例を示します。
<%= javascript_include_tag "application", "prototype", "effects", "lowpro", "toggle" %>
ページの本文はブラウザに表示されていますが、アニメーションはありません。私は自分の JavaScript ファイルがデモと同じであることを確認しました (さらに、html ファイルはとにかく動作しています)。私の .erb ファイルのどこに問題があるか知っていますか?
私が使用しているhtmlのサンプル:
<h3>Toggle.LinkBehavior</h3>
<div class="expand_me" id="one">Expanded!</div>
<p>
<a class="toggle" href="#one" rel="toggle[one]">Expand</a>
</p>
<div class="expand_me" id="two">Expanded! 1</div>
<div class="expand_me" id="three">Expanded! 2</div>
<p>
<a class="toggle" href="#two" rel="toggle[two,three]">Expand even more</a>
</p>
#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()
});
エイマンタス、私はまったくの初心者です。HTMLドキュメントに次を追加しましたが、機能しませんでした:
<script type="text/javascript">
window.onload = Event.addBehavior
</script>
これがあなたの言いたいことですか、それとも .html.erb ファイルにどのコードを書く必要があるか教えてもらえますか?