3

私は自分のウェブサイトhttp://kellyannart.com/test/portfolios/で BX Slider を使用しています。問題に直面しています。 bx-slider displaySlideQty に次のパラメータを設定しました: 4 infiniteLoop: true

私が使用しているカスタムjQueryは次のとおりです。

jQuery(".single_portfolio_item_archive a").click(function(evt) {
evt.preventDefault();
jQuery("#imageBox").empty().append(
    jQuery("<img>", { src: this.href})
);
});

bx-slider 内に合計 5 つのアイテムがあります...しかし、infiniteLoop が true に設定されているため、繰り返し続けます..問題は、最初の 5 つのアイテム (これは私が持っているアイテムの実際の数) で、画像の場合、div id="imageBox" に同じ画像が読み込まれます (これは完璧です)。しかし、6 番目の項目 (infinteLoop が true に設定されているため繰り返されます) をクリックすると、大きな画像が新しいウィンドウで開きます。 div id="imageBox" 内にロードする代わりにウィンドウ

また、最初の 5 項目の [続きを読む] ボタンをクリックすると、その href を div id="imageBox" 内にロードしようとしますが、6 番目の項目の [続きを読む] ボタンをクリックすると、完全に動作します (つまり、ブラウザでリンクを開きます)なぜこれが起こっているのかわかりません..何か提案はありますか?前もって感謝します :)

4

1 に答える 1

3

これの原因がわかりました...まず、ポートフォリオページのスライドショーを有効/無効にするオプションがあり、それぞれにカスタムjqueryコードをロードします..しかし、スライドショーが有効かどうかを確認するifステートメントを入れませんでした無効..したがって、スライドショーが有効になっているときに最初のスクリプトをロードし、スライドショーが無効になっているときに2番目のスクリプトをロードする必要があります...私の場合、スライドショーが有効か無効かに関係なく、両方がロードされていました..次に、document.ready()を試しました

<?php 
if( is_post_type_archive( 'portfolios' ) || is_taxonomy( 'styles' ) || is_taxonomy( 'colors' ) || is_taxonomy( 'textures' ) || is_taxonomy( 'years' ) ) : ?>
<script type="text/javascript">
jQuery(document).ready(function() {
jQuery(".single_portfolio_item_archive a").click(function(evt) {
evt.preventDefault();
jQuery("#imageBox").empty().append(
    jQuery("<img>", { src: this.href})
);
})
});
</script>
<?php endif; ?>

document.ready は、スクリプトが各要素に適用されていることを確認しました.. bx-slider によって繰り返されていたものであっても。:)

于 2012-04-21T20:18:29.747 に答える