0

jQuery用のプラグインを作成しようとしましたが、問題があります。

これは .html です: http://pastebin.com/amLSFSZX

これは .js ファイルです: http://pastebin.com/CmrHzKRk

div に 4 つの矢印が必要です。

  1. トップミドル
  2. 右中
  3. 下中央
  4. 左中

プラグインにパックされていない場合は、正常に動作します。

しかし、プラグインを含めると、バグが発生します。

これは、Firebug による出力です。

<img class="arrows" src="arrow-top.png" alt="Arrow-Top" style="height: 26px; width: 20px; top: 50px; left: 480480px; position: absolute; display: none;">
<img class="arrows" src="arrow-right.png" alt="Arrow-Top" style="position: absolute; display: none;">
<img class="arrows" src="arrow-bottom.png" alt="Arrow-Top" style="left: 480480px; position: absolute; display: none;">
<img class="arrows" src="arrow-left.png" alt="Arrow-Top" style="height: 20px; width: 26px; top: 50250px; left: 480px; position: absolute; display: none;">

誰でも助けることができますか?私の悪い英語でごめんなさい。

4

1 に答える 1

1

単なるコピー/貼り付けまたはその他の間違いである可能性がありますが、firebugによって出力されるインラインスタイルは、いくつかの場所で奇妙に見えます。

あなたはleft: 480480px;2つの場所にありtop: 50250pxます。何が起こっていないのか、または望ましい動作が「バグ」を超えているのかを正確に説明していません。

jsfiddleに関しては、これらのリソースをまとめてくれてありがとう。しかし、最初に実行を実行したとき、開発ツールに表示されるエラーがすでに2つあります。arrow.jsが見つからず、#mapでメソッドAddArrowを呼び出すことができません。おそらくjQueryを使用しているので、ウィンドウの左側のフレームワークとしてjQueryを選択する必要があります。

しかし、私はそれらの奇妙な左と上の側面がbugsあなたが言及していたことを引き起こしているかもしれないと思います。

編集:あなたの問題は、arrow.jsプラグインを含めているが、それを自分でオーバーライドしていることのようです。一見、arrow.jsとjavascripting領域のコードは同じように見えます。(もちろん、両方とも計算の前後に括弧がないという問題を共有していました!

私はフィドルでarrow.jsに依存することを削除しましたが、コードをマークアップにコピーしているように見えるので、あなたもそうすべきだと思います。arrow.jsを制御できない場合は、独自のコードを使用する必要があります。これは、arrow.jsが上下の計算を括弧で囲まない場合に欠陥があるためです。

これは、大きい方から取った基本的な矢印を使用した更新されたフィドルInternetです(私はあなたの矢印にアクセスできないため)。arrow.jsに依存するのをやめます。私が説明したようにそれを修正してください、そうすればあなたはより良い場所にいるでしょう。プラグインを含めるとすべてが壊れてしまうという質問に対する答えは、プラグインが間違っているということです。

コンテキストで正しく実行するには、コードを調整する必要があります。例:jsfiddleは$(document).ready()を起動します。

于 2012-04-18T12:16:24.400 に答える