TLDR:見つけられないバグは、jQuery を介して HTML 要素が挿入されたときにプラグインが機能しないことです。
要約:プラグインは、HTML を制御できる場合に設計されていますが、そうでないため、マウスオーバーの「hoverzoom」属性を取得するためにイメージ タグをコロネーションしようとしていますが、必要な HTML 属性を jQuery 関数を使用して追加する.wrap();
.after();
と、.addClass();
、すべての画像が消えます。HTMLを直接制御できないため、jQuery DOM操作を介して行う必要があります。(質問しないでください、長い話ですが、jQuery でなければなりません)。奇妙なことに、同じサンプル環境 (以下を参照) で、HTML 要素、ID、およびクラスを追加すると、プラグインが機能します。しかし、必要なすべての属性をそのままのイメージ タグに追加しようとすると、タグが消えてしまいます。
理論:<ul>
イメージ タグは、id="etalage"
(プラグインの展開の指示に従って) がある場合と、<img>
タグがそれぞれのクラスでソースおよびサム イメージとして指定されている場合の両方で消えるようです。私の理論では、CSS の "display:none" ルールが呼び出されているということですが、これが本当なら、ページで動作する他の例も動作しないのではないでしょうか?
プラグイン: Code Canyon の Etalage (リンクを投稿したいのですが、スタック オーバーフローは、私が若すぎて複数のリンクを投稿できないと言っています)
バグのサンプルページ: 野生(コメントはインスペクターで見ることができます)
私のコード(動作しません)、HTML:
<img id="thumbImage" src="http://placekitten.com.s3.amazonaws.com/homepage-samples/408/287.jpg" alt="" />
jQuery:
$(document).ready(function(){
$('#thumbImage').wrap('<ul id="etalage"><li /></ul>')
.addClass('etalage_thumb_image')
.after('<img class="etalage_source_image target" />'); $('.etalage_source_image')
.attr('src', 'http://placekitten.com.s3.amazonaws.com/homepage-samples/200/140.jpg');
});
Etalage によると、これは機能するコードです。
HTML
<ul id="etalage">
<li>
<img class="etalage_thumb_image" src="xyz.jpg">
<img class="etalage_source_image target" src="xyz.jpg">
</li>
</ul>
私はとても迷っています。誰かが助けてくれれば、事前に感謝します。私は彼らのヘルプ フォーラムに投稿しましたが、SO は過去に私のコードをデバッグするのに非常に役立ちました。