2012-04-18 17 views
0

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

これは.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;"> 

誰でも助けることができますか?私の悪い英語のために申し訳ありません。

+0

http://jsfiddle.net/ – Sparky

+0

を使用し、オンラインのHTML/CSS/JSコードスニペットを共有するには、[OK]、ここにある: http://jsfiddle.net/2GzjB/ – Lizzaran

答えて

1

は、それはちょうどコピー/ペーストやその他の間違いかもしれないが、放火犯によってあなたのインラインスタイルの出力は、いくつかの場所で奇妙に見えます。

次の2つの場所とtop: 50250pxleft: 480480px;を持っています。何が起きていないのか、それとも「バグ」を超えているのかを正確には説明していません。あなたのjsfiddleについて

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

しかし、私はこれらの奇妙な左と上の側面は、あなたが参照したbugsの原因かもしれないと思います。

編集:あなたの問題は、あなたがarrow.jsプラグインを含めていますが、自分で上書きすることです。一見、arrow.jsとjavascriptingエリアのコードは同じように見えます。 (もちろん、彼らは両方のあなたの計算の周りに括弧を持っていないという問題を共有!

あなたは明らかにコードをコピーしているので、私は私のバイオリンでarrow.jsに頼って削除していると私はあなたもすべきだと思いますあなたのマークアップに。あなたはarrow.jsオーバー制御を持っていない場合、それはトップと左の計算の前後に括弧を挿入していない場合、あなたはarrow.jsが欠陥があるため、独自のコードを使用してでなければなりません。

基本的な矢印がInternetから取られたupdated fiddleです(私はあなたの矢印にアクセスできないため)。 arrow.jsに頼るのをやめてください。私が説明したようにそれを修正し、あなたはより良い場所にいます。あなたがプラグインを組み込むときにすべてが壊れる理由についてのあなたの質問に対する答えは、プラグインが間違っているということです。

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

+0

ねえ、そう。私はdivを持っており、私は4つの矢印を追加したい。 ここに例があります:http://s7.directupload.net/images/120418/dwlhs78z.jpg jqueryコードが.htmlファイルに直接存在する場合、正常に動作します。 しかし、私はプラグインを作成すると、それは私に左のようないくつかの奇妙なバグを与えます:480480px;上:50250ピクセル。 ここに新しいリンクがありますhttp://jsfiddle.net/Q6nmR/3/ – Lizzaran

+0

私はFirebugを使用して、手動でJavaScriptのロジックを実行し、オブジェクトから引き出された値を調べることをお勧めします。 'pos.top + height - o.ArrowHeight'が間違ってしまう場所はたくさんあります。あなたは算術演算の周りに括弧を入れたいと思うでしょう。さもなければあなたのjavascriptは(480-480)= 0の代わりに480480を出力している可能性があります。 – veeTrain

+0

@Lizzaran;私は自分の答えを更新し、あなたの質問のいくつかに答えるべきだと考えています。私が正しいもの(arrow.js)を見ているならば、プラグインに欠陥があります。そのコードを取って、それをあなたの気まぐれに曲げるのは私の提案です。 – veeTrain

関連する問題