0

ポップアップ タブを閉じるのに助けが必要です。オーバーレイ div は z-indexed であるため、近い div は隠されません。これが私のコードです:

<div id='mail'>                 
  <div id="popup-overlay"></div>
   <div class="close-popup"">
  <a>X</a>
   </div>
</div>

<script>
    var mail = $('#mail');
    var overlay = $('#popup-overlay.' + pageID);
    var mailClose = $('#mail.' + pageID + ' .close-popup');

    mailClose.on('click touchstart', function(event){
    mail.removeAttr('style');
    mail.css('display', 'none');
    overlay.css('display', 'none');
  });

  mailClose.bind('mouseover', function(event){
    mailClose.css('cursor', 'pointer');
  });

  mailClose.on('blur', function(event){
      this.blur();
     });
  }
</script>
4

1 に答える 1

0

わかりましたので、スニペットで提供されたソースにいくつか問題がありましたが、それはおそらく、コード全体のサブセクションをコピーして貼り付けていたためです。これらの問題は次のとおりです: のクラス定義の予期しない " 文字close-popup; 変数 pageID が定義されていない; 最後に、スクリプトの最後に余分な波括弧があります。

おそらく、これらのどれも実際の問題ではありません。

あなたが抱えている問題は、mailClose要素に使用しているセレクターに起因すると思います。具体的には、不要な要素があるため、mailClose 要素のセレクターが正しくありません#mail。pageID 変数が実際に何であるかはわかりませんが、提供された HTML には存在しないため、セレクターが機能するためにはそれも削除する必要があります。この jsfiddleで示されているように、最初の段落からこれらの些細なバグと CSS セレクターの誤った要素を削除すると、機能が期待どおりに機能していると思います。おそらく、pageID は実際には重要な値であり、セレクターに適切に追加する必要があります。

より包括的な例をもう一度見たい場合は、自由にソースを編集し、この回答にコメントしてください。お役に立てれば、

于 2012-11-16T04:13:48.820 に答える