2011-02-05 2 views
0

jQueryプラグイン(link)を使用してホームページのdivに外部ページを取り込み、外部ページのそれぞれにjQueryベースの水平ギャラリースライダーが含まれています。jQueryでAJAX経由でコンテンツを読み込んでいるときのギャラリーのスライダーのバグ

例:http://www.iamtimothylong.com/example

あなたは外部のページが(「ブック1」または「ブック2」をクリックして)AJAX要求、それらの外部のページが停止中の水平スライダによってロードされたときにことがわかります機能する。

ただし、divに静的に配置すると水平スライダが機能します(スライダ自体に問題がないことは明らかです)。

誰でも解決策または回避策を知っていますか? 1人の男が言った

"XHR要求が完了した後、新しい要素にスライダを再バインドする必要があります。AJAX要求の成功ハンドラの中で、mScrollBar()バインディングを実行してください。

残念なことに、私はプログラミング上の不注意であり、私はそれを一般人の言葉で綴る必要があります。 :)

そしてAJAXローダーソースは次の場所にあります。/js/menu.js

+0

スライダのコードを参照する必要があります。 – jondavidjohn

+0

js/jquery.mCustomScrollbar.js - フッターにもインラインセクションがあります(参考用にメモを追加しました) –

答えて

0

私はそれが基本的に.live('event')

に発射されていないイベントを交換するの古典的なケースであると言うでしょうjavascriptは起動され、ページがロードされたとき(または呼び出されたとき)にイベントハンドラがアタッチされ、その時点でページに存在する既存の要素にアタッチされるため、新しいコンテンツ(AJAX経由)ロードされたばかりの新しいコンテンツイベントにはアタッチされず、セレクタと一致します。このjQueryの問題を解決するには

は、任意の現在の既存のDOM要素dyamically追加将来のものと一致した.live()イベントがあります。

+0

Jon、徹底的な回答に感謝します。私は、そのハンドラを、私が適用されたと思われるイベントに添付しようとしましたが、問題が残っています(おそらく私の最後にエラーがあるためです)。 可能であれば、スライダーのソースを見て、入力があるかどうかを確認してください。http://www.iamtimothylong.com/example/js/jquery.mCustomScrollbar.js これは両方に適用されると思いますマウスホイールと水平スクロール。再度、感謝します! –

+0

このリンクをクリックすると、404の問題が発生する可能性があります。 ;) – jondavidjohn

関連する問題