これは別のDOHだと確信しています!facepalmの質問ですが、プログラマーではなくデザイナーとして、正しく理解するための助けが必要です。
私が持っているのは、jQuery .load を介してローカルの .html ファイルを呼び出すインデックス ファイルです。このように:(いくつかのタブ機能はここでは相対的ではありません-したがって、リンクターゲット呼び出し)
<a href="#lightbox">Lightbox</a></li>
<div id=lightbox">
<div class="load">
<script type="text/javascript">
$('.load').load('examples/lightbox.html');
</script>
</div>
</div>
また、特にいくつかのライトボックスを処理する関数の束を含む外部 .js ファイルもあります。標準<script src="js/typography.js" type="text/javascript"></script>
含まれるもの:
$(document).ready(function(){
$(".open-lightbox").on("click", function(){
$('.lightbox').css('display','block');
});
$('.close-lightbox').click(function(){
$('.lightbox').css('display','none');
});
});
私の問題は、外部から呼び出された .html ファイルに .js ファイルに依存する要素がある場合です。ライトボックスのポップアップが機能しません。
何かのようなもの :
<a href="#" class="open-lightbox">LightBox Link</a>
<div class="lightbox">
lightbox content
<a href="#" class="close-lightbox">Close</a>
</div>
html コードを の代わりにインデックス ページに移動しても問題ありません。JS を外部から呼び出すのではなく.load
、インラインとして移動した場合と同じです。<script>...</script>
どちらの場合でも正常に動作します。
私のSpidey感覚では、これは私の機能に関係が.load
あり、必要な順序で実行されていないことがわかりますが、私のjavascriptのコピー/貼り付けスキルはこれまでしかありません.
この組み合わせを機能させることができるかどうか、誰か教えてもらえますか? 本当にありがたいです。
編集
たぶん、私の自己説明が不十分だったので、より良い例を投稿してみましょう。私のインデックスコードが次のようになっている場合、すべてが機能します。意図したとおりにライトボックスがポップアップします。
<li><a href="#thistabid">Link to open Tab Content</a></li>
<div id="thistabid">
<--Tab Content below-->
<div class="somehtmlpage-load">
<a href="#" class="open-lightbox">LightBox Link</a>
<div class="lightbox">
lightbox content
<a href="#" class="close-lightbox">Close</a>
</div>
</div>
<--End Tab Content-->
</div>
上記のタブをクリックすると、「thisstabid」内のコンテンツが表示されます。その内容はどうでもいい。
今私がする場合:
<li><a href="#thistabid">Link to open Tab Content</a></li>
<div id="thistabid">
<--Tab Content below-->
<div class="somehtmlpage-load">
<script type="text/javascript">
$('.somehtmlpage-load').load('examples/lightbox.html');
</script>
</div>
<--End Tab Content-->
</div>
ライトボックスが機能しません。lightbox.html の内容は
<a href="#" class="open-lightbox">LightBox Link</a>
<div class="lightbox">
lightbox content
<a href="#" class="close-lightbox">Close</a>
</div>
すべてが機能する最初の例の html と同じです。唯一の違いは、ハードコードされているのではなく、jQuery が読み込まれていることです。
「外部から呼び出された .html ファイルに .js ファイル、つまりライトボックス ポップアップに依存する要素がある場合」とは、html が外部から呼び出されたファイルの一部である場合、ライトボックス機能が機能しないことを意味します。ハードコーディングされている場合は、意図したとおりにポップアップします。
一見すると.onが解決策のように見えますが、私の実装は的外れです:/