0

ポートフォリオの再設計を始めたところ、小さな厄介なバグが見つかりました。http://hire.pixelpizza.de/を見て、[OK、商品を見てみましょう]をクリックしてください。その後、背景が青色のページが表示され、「西の写真をもっと見る」をクリックする必要があります。これで、fancyboxギャラリーが開きました。

問題は、キーボードの右矢印ボタンを押すと、ページスイッチとFancyboxの2つのスクリプトが衝突し、重なり合ってしまうことです。これはそれほどクールではありません。

私はそれを修正する方法がまったくわかりません:-/ hander.js(http://hire.pixelpizza.de/assets/js/handler.js)ファンシーボックスを開いて開始するとスクリプトが停止するだけですもう一度閉じると。両方のスクリプトがキー番号39を使用しているため、少し注意が必要です。

また、ファンシーボックスを開いたときに左右のキーをまったく使用できないソリューションを使用することもできますが、ファンシーボックスが表示されたらサイトスイッチを停止する必要があると考えています

4

1 に答える 1

1

fancybox のソースでは、671 行目にこれがあります。

if (keys) {
  D.bind('keydown.fb', function (e) {
    var code   = e.which || e.keyCode,
                 target = e.target || e.srcElement;
// more code
  });
}

次のように変更します。

if (keys) {
  D.bind('keydown.fb', function (e) {
    e.stopImmediatePropagation();
    e.preventDefault();
    var code   = e.which || e.keyCode,
                 target = e.target || e.srcElement;
// more code
  });
}

そして、イベントはスクリプトの残りの部分でバブリングを停止します。ところで素敵なウェブサイト

于 2012-08-07T09:40:54.090 に答える