0

私はまだ jQuery (1.6 分) と Javascript を学んでいますが、これまでのところ達成できたことに非常に満足していますが、この問題にだまされてしまいました。4 時間も調べていました!

に含まれるページに次のリンクがあります (id 値は「NorthWest」です):-

<figure><a href="http://localhost:8888/popup/PFS98394" class="popUpSimple"><img src="http://localhost:8888/98394.jpg" alt="" border="0"></a></figure>

クリックすると、コンテンツが正しく読み込まれ、表示されます。ページをリロードするのではなく、現在のコンテンツの上に DIV を表示するだけです。これを行うための Javascript は、標準の jQuery Fancybox を使用します。

すべて正常に動作し、DIV を何度か表示および非表示にして、そのたびに異なる情報をロードすることができます。ユーザーが「NorthWest」DIV を最新のコンテンツでリロードできるようにする IMG ボタンがあります。クリックすると、次のコードが実行されます。

 $(".RefreshThumb").find("a").click(function(){
   $(".RefreshLoader").show();
   $("#NorthWest").load("/refreshdata");
   setTimeout(RefreshHide,1000);
 });

setTimeout 行は、データの更新が行われていることをユーザーに通知するために一時的に表示される小さなグラフィック (refreshloader) を参照します。

ここで、$("#NorthWest").load などの行を削除すると、すべて正常に動作します。その行を再度追加すると、IMG ボタンをクリックして NorthWest DIV を更新するまで popUpSimple リンクは正常に機能します。その後、popUpSimple コンテンツが新しいページとして読み込まれ、オーバーレイされなくなります - クリックする前に、ポップアップ オーバーレイが問題なく機能しますクリックする回数。

編集: IMG ボタンをクリックして NorthWest DIV をリロードすると、問題が発生するのは popUpSimple リンクをクリックした場合のみです。

私は何を間違えましたか?私は Safari を使用しており、ページが DIV ショーに読み込まれるのではなく、リロードされた後に Web Inspector ウィンドウを確認します。

<script type="text/javascript">
$(document).ready(function() {

参照エラー: 変数 $ が見つかりませんというメッセージが表示されます。

誰でも私を正しい方向に向けることができますか....お願いします!

4

2 に答える 2

1

jquery '$' が別の JS フレームワークによってオーバーライドされている可能性があります。

もちろん、単一引用符なしで「$」を「jQuery」に置き換えるだけです。http://api.jquery.com/jQuery.noConflict/を使用してみてください 。たとえば、jQuery ライブラリをロードした直後にこれを追加できます。

<script type="text/javascript" src="other_lib.js"></script>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript">
  $.noConflict();
  // Code that uses other library's $ can follow here.
</script>
于 2012-06-05T22:12:39.870 に答える