私はファンシーボックスを表示して移動させるウィザードタイプのワークフローを持っています。私は単に私がfancyboxに何をしたいのアンカーIDを持つアンカータグを持つHTMLでファンシーボックスのバックグラウンドスクロール.open()
$('a.fancybox').fancybox();
:私はそうのような最初のものを開きます。
問題は、私は、サーバーからの応答の後にそうように開いて2番目のボックスに最初のボックスから移動するときに生じる:
$.fancybox.open({ href: '#divIwantAsFancybox' });
これはうまくfancyboxを開きますが、この場合にはバックグラウンドのページは、最初のボックスになかった場所をスクロールします。私はファンシーボックスによって生成されたインラインcssとhtmlを調べ、重要な(おそらく)唯一の違いは、.open()
を使用しているときに、必要なコンテンツがクラスfancybox-overlayでdivでレンダリングされなくなったということです。ブラウザ内でそのコードに手動でコードを移動すると、そのファンシーボックスは使用できなくなります。私はここにいなくなり、バックグラウンドをスクロールせずに第2のボックスを開くようにfancyboxに指示する方法は知らない。
PS:beforeShowとafterCloseでoverflow: hidden
を設定するCSSのハックを試しましたが、それはブラウザーで私にとってはうまくいくものの、モバイルブラウザーには効果がありません。この質問の目的のために、私は今のところWebソリューションに固執したいと思いますが、モバイルブラウザではうまく動作しないことを知っているので、潜在的にハックを避けることができます。
ありがとうございます。
あなたのアンカーとターゲットdivがどのように埋め込まれているか、あなたのhtmlを表示する必要があるかもしれません。ファンシーボックス内に同じタイプのアンカーを使用するだけで、最初のファンシーボックス – JFK