最近問題が発生しましたが、ここでも同様の質問が出ていますが、提供された回答はどれも私にとって問題はありません。2回クリックする必要のあるJQueryのクリック機能
私はjQueryのクリック機能と同じリンク上の 'onclick'機能を持っています(隠れたdivを表示して、ウィンドウをポップアップさせます。現時点でリンクがクリックされると、ポップアップは正常に動作しますが、非表示のdivを表示するには2回目のクリックが必要です。ポップアップは2回目のクリックで再び表示されます。
私は、スクリプトをページの下部に移動して(まったく動作しませんでした)、またonclickイベントを完全に削除するなど、いくつかのことを試しましたが、 '表示'の側面には常に2クリック
どのポインタも大変ありがとうございます。私のコードは以下の通りです。
<script language="javascript">
jQuery(document).ready(function() {
$(".show").click(function(){
var left = $(this).next('span').css('left');
if (left == '3px') {
$(this).next('span').animate({left:'148px'}, 1000);
} else {
$(this).next('span').animate({left:'3px'}, 1000);
}
return false;
});
});
</script>
<script type="text/javascript">
function showPopup(url) {
newwindow=window.open(url,'name','height=190,width=520,top=200,left=300,resizable');
if (window.focus) {this.window.focus()}
}
</script>
<!--- In Page --->
<div class="coupon"><a href="/relevantpage.html" onclick="showPopup(this.href);return(false);" class="show"></a><span class="code">ABC1</span></div>
私は 'onclick ='とjQuery 'click'ハンドラを使用しないでください...あなたは予期しない結果を得るかもしれません(あなたと今のように)... – ManseUK
divを表示できない理由はありますか?あなたの質問を完全に誤解していますか?または、「ポップアップポップアップを2回作成しない方法」に関する質問です。 –
'$(this).next( 'span').css( 'left')'実際に=== "3px"をクリックすると、最初にクリックしたとき、そうでなければ最初のクリックは3pxに設定してください(たとえば、2pxで3pxに設定している場合はこれに気付かないかもしれません)。その後、次のクリックで実際に148pxに設定されます(今度は3pxに設定されています)。 – Niklas