2

ここに投稿するのは初めてなので、親切にしてください。私はどこを見ても、正確な問題を見つけることができません。インライン HTML でファンシーボックス ギャラリーを作成しました。最初のクリックスルーではうまく機能しますが、最初の div にループバックすると、それらが順不同で表示され始めます。このため、単純にループを無効にしたいと思います。ただし、Javascriptを使用して無効にしようとしましたが、役に立ちませんでした。

記録のために、これはギャラリーがナビゲートするときに取るパターンです:

  • ディビジョン 1
  • ディビジョン 2
  • ディビジョン 3
  • ディビジョン 4
  • Div 1 へのループ
  • ディビジョン 3
  • ディビジョン 2
  • ディビジョン 4
  • ディビジョン 3
  • ディビジョン 1

^ 誰かがなぜこれが起こっているのか教えてくれるなら、それを試してみてください! それは大歓迎です。しかし、ループを止めることができれば満足です

私のコードの一部を共有します...

HTML マークアップ:

<div id="container">
<div><p>
    <a class="fancybox" href="#inline1" data-fancybox-group="gallery"><img src="images/zacthumb.png" alt="" /></a>
    <a class="fancybox" href="#inline2" data-fancybox-group="gallery"><img src="images/zacthumb.png" alt="" /></a>
    <a class="fancybox" href="#inline3" data-fancybox-group="gallery"><img src="images/zacthumb.png" alt="" /></a>
    <a class="fancybox" href="#inline4" data-fancybox-group="gallery"><img src="images/zacthumb.png" alt="" /></a>
</p></div>
</div></div>
<div id="inline1" style="width:820px;display: none;">
    <p id="zac"><font size="4">    
    <b>ZAC NORRIS</b></font><br /><br />Lorem ipsum dolor sit amet, consectetur adipiscing     
elit. Etiam quis mi eu elit tempor facilisis id et neque. Nulla sit amet sem sapien.   
Vestibulum imperdiet porta ante ac ornare. Nulla et lorem eu nibh adipiscing ultricies nec     at lacus. Cras laoreet ultricies sem, at blandit mi eleifend aliquam. Nunc enim ipsum,     vehicula non pretium varius, cursus ac tortor. Vivamus fringilla congue laoreet. Quisque     ultrices sodales orci, quis rhoncus justo auctor in. Phasellus dui eros, bibendum eu feugiat     ornare, faucibus eu.<br /><br />Nunc aliquet tempus sem, id aliquam diam varius ac. Maecenas     nisl nunc, molestie vitae eleifend vel, iaculis sed magna. Aenean tempus lacus vitae orci    posuere porttitor eget non felis. Donec lectus elit, aliquam nec eleifend sit amet, vestibulum    sed nunc.</p>
    </p><br /><div id="boxnav"><center>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a class="fancybox" href="#inline2" data-fancybox-group="gallery"><img src="next1.png" onclick="$("ul li a").click(function() { $("#us").toggle("fast"); });"/></a></center></div>
</div>

<div id="inline2" style="width:820px;display: none;">
<p id="zac"><font size="4"><b>PERSON TWO</b></font><br /><br />Lorem ipsum dolor sit amet, consectetur adipiscing elit. Etiam quis mi eu elit tempor facilisis id et neque. Nulla sit amet sem sapien. Vestibulum imperdiet porta ante ac ornare. Nulla et lorem eu nibh adipiscing ultricies nec at lacus. Cras laoreet ultricies sem, at blandit mi eleifend aliquam. Nunc enim ipsum, vehicula non pretium varius, cursus ac tortor. Vivamus fringilla congue laoreet. Quisque ultrices sodales orci, quis rhoncus justo auctor in. Phasellus dui eros, bibendum eu feugiat ornare, faucibus eu.<br /><br />Nunc aliquet tempus sem, id aliquam diam varius ac. Maecenas nisl nunc, molestie vitae eleifend vel, iaculis sed magna. Aenean tempus lacus vitae orci posuere porttitor eget non felis. Donec lectus elit, aliquam nec eleifend sit amet, vestibulum sed nunc.</p>
    </p><br /><div id="boxnav"><center><a class="fancybox" href="#inline1" data-fancybox-group="gallery"><img src="prev1.png" onclick="$("ul li a").click(function() { $("#us").toggle("fast"); });"/></a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a class="fancybox" href="#inline3" data-fancybox-group="gallery"><img src="next1.png" onclick="$("ul li a").click(function() { $("#us").toggle("fast"); });"/></a></center></div>
</div>


<div id="inline3" style="width:820px;display: none;">
    <p id="zac"><font size="4"><b>PERSON THREE</b></font><br /><br />Lorem ipsum dolor sit amet, consectetur adipiscing elit. Etiam quis mi eu elit tempor facilisis id et neque. Nulla sit amet sem sapien. Vestibulum imperdiet porta ante ac ornare. Nulla et lorem eu nibh adipiscing ultricies nec at lacus. Cras laoreet ultricies sem, at blandit mi eleifend aliquam. Nunc enim ipsum, vehicula non pretium varius, cursus ac tortor. Vivamus fringilla congue laoreet. Quisque ultrices sodales orci, quis rhoncus justo auctor in. Phasellus dui eros, bibendum eu feugiat ornare, faucibus eu.<br /><br />Nunc aliquet tempus sem, id aliquam diam varius ac. Maecenas nisl nunc, molestie vitae eleifend vel, iaculis sed magna. Aenean tempus lacus vitae orci posuere porttitor eget non felis. Donec lectus elit, aliquam nec eleifend sit amet, vestibulum sed nunc.</p>
    </p><br /><div id="boxnav"><center><a class="fancybox" href="#inline2" data-fancybox-group="gallery"><img src="prev1.png" /></a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a class="fancybox" href="#inline4" data-fancybox-group="gallery"><img src="next1.png" /></a></center></div>
</div>


<div id="inline4" style="width:820px;display: none;">
    <p id="zac"><font size="4"><b>PERSON FOUR</b></font><br /><br />Lorem ipsum dolor sit amet, consectetur adipiscing elit. Etiam quis mi eu elit tempor facilisis id et neque. Nulla sit amet sem sapien. Vestibulum imperdiet porta ante ac ornare. Nulla et lorem eu nibh adipiscing ultricies nec at lacus. Cras laoreet ultricies sem, at blandit mi eleifend aliquam. Nunc enim ipsum, vehicula non pretium varius, cursus ac tortor. Vivamus fringilla congue laoreet. Quisque ultrices sodales orci, quis rhoncus justo auctor in. Phasellus dui eros, bibendum eu feugiat ornare, faucibus eu.<br /><br />Nunc aliquet tempus sem, id aliquam diam varius ac. Maecenas nisl nunc, molestie vitae eleifend vel, iaculis sed magna. Aenean tempus lacus vitae orci posuere porttitor eget non felis. Donec lectus elit, aliquam nec eleifend sit amet, vestibulum sed nunc.</p>
    </p><br /><div id="boxnav"><center><a class="fancybox" href="#inline3" data-fancybox-group="gallery"><img src="prev1.png" /></a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</center></div>
</div>

失敗したJavascript?必要に応じてさらに提供できます。

    defaults: {
        padding : 5,
        margin  : 20,

        width     : 800,
        height    : 600,
        minWidth  : 100,
        minHeight : 100,
        maxWidth  : 9999,
        maxHeight : 9999,

        autoSize   : true,
        autoHeight : false,
        autoWidth  : false,

        autoResize  : true,
        autoCenter  : !isTouch,
        fitToView   : true,
        aspectRatio : false,
        topRatio    : 0.5,
        leftRatio   : 0.5,

        scrolling : 'auto', // 'auto', 'yes' or 'no'
        wrapCSS   : '',

        arrows     : true,
        closeBtn   : true,
        closeClick : false,
        nextClick  : false,
        mouseWheel : false,
        autoPlay   : false,
        playSpeed  : 3000,
        preload    : 3,
        modal      : false,
        cyclic       : false,

前もって感謝します。

<3 ローラ

4

2 に答える 2

0

まあ、これは説明するのは簡単です:

Fancyboxは、インラインコンテンツ内のタグ<a>を含むclass="fancybox"AND data-fancybox-group="gallery"...を含むすべてのタグからギャラリーを作成します。

言い換えれば、次のようなサムネイルがある場合:

<a class="fancybox" href="#inline1" data-fancybox-group="gallery"><img src="1_s.jpg" alt="" /></a>
<a class="fancybox" href="#inline2" data-fancybox-group="gallery"><img src="2_s.jpg" alt="" /></a>
<a class="fancybox" href="#inline3" data-fancybox-group="gallery"><img src="3_s.jpg" alt="" /></a>
<a class="fancybox" href="#inline4" data-fancybox-group="gallery"><img src="4_s.jpg" alt="" /></a>

...この場合、fancyboxギャラリーはこの順序で4つの要素で構成されますが、次コンテンツにも含める場合#inline1

<a class="fancybox" href="#inline2" data-fancybox-group="gallery">Fog >></a>

...次に、ギャラリーに5番目の要素を追加します()。これが、常に後に表示される#inline2理由です。#inline2#inline4

もちろん、中に追加すれば#inline2

<a class="fancybox" href="#inline1" data-fancybox-group="gallery"><< Trees</a> | 
<a class="fancybox" href="#inline3" data-fancybox-group="gallery">Sunshine >></a>

...次に、ギャラリーの6番目の要素になり#inline1ます。#inline37th

この時点で、ギャラリーは次のようになります。

  • #inline1
  • #inline2
  • #inline3
  • #inline4
  • #inline2
  • #inline1
  • #inline3など

どうすればそれを解決できますか?

インラインコンテンツ内に独自のナビゲーションを含める場合は、最初にjavascriptインデックスがどのように機能するかを検討します。最初のindex = 0要素は次の ように始まります。

  • 木=0
  • 霧=1
  • 太陽の光=2
  • パリ=3

移動先のギャラリーの各要素のインデックスがわかっている場合は、fancyboxメソッドを使用し$.fancybox.jumpto()てギャラリー内を移動できます。

したがって、これの代わりに(内から)に行きたい場合:#inline1

<a class="fancybox" href="#inline2" data-fancybox-group="gallery">Fog >></a>

... これを行う :

<a href="javascript:$.fancybox.jumpto(1);">Fog &gt;&gt;</a>

HTML検証エラーを回避するために>、フォームを使用して文字をエスケープしていることに注意してください(代わりに文字を使用してください)&gt;&lt;<

于 2013-03-18T07:40:01.967 に答える
0

このように書かれた複数のonclick属性があります

onclick="$("ul li a").click(function() { $("#us").toggle("fast"); });"

あなたのコードでは、これは間違っています - 引用符の扱いが間違っているため、この属性には $ 記号だけが含まれています。最初にそれを修正し、問題が解決しないかどうかを確認してください。もしそうなら、少なくともオンラインの例を提供してください。

于 2013-03-17T04:08:21.657 に答える