他のスレッドをチェックしましたが、コードに対応する応答が見つからないようです。私の問題は、その時、それは完璧に動作指し、二クリックで唯一の火災の私のクリックイベントである(第2クリックで開き、第三のクリックで閉じ、第四が開き、等...)jQueryは2回目のクリックでは発生しますが、最初には発生しません。
$('.expand-btn').click(function() {
var clicks = $(this).data('clicks');
if (clicks) {
$('.expand-wrapper').animate({
right: "0"
}, 500, function() {
});
} else {
$('.expand-wrapper').animate({
right: "-325px"
}, 500, function() {
});
}
$(this).data('clicks', !clicks);
});
編集:ここに私のHTMLコードです。 this jquery pluginのように動作します。.expand-wrapper
は画面外に隠れている連絡フォームで、.expand-btn
は画面の側にありクリック可能な小さなフラップです。
<div class="expand-wrapper">
<a href="#" class="expand-btn"><i class="fa fa-envelope-o" aria-hidden="true"></i> Contact</a>
<div class="expand-form">
<?php echo do_shortcode('[contact-form-7 id="2173" title="Home 01 Request_no_title"]'); ?>
</div>
</div>
はあなたを行います'data-clicks'属性に初期値を設定していますか?そうでなければ、 '$(this).data( 'clicks')属性で最初にクリックされるまで設定されていないように設定することを考えてください。 –
あなたは正しいと思います。最初にクリックすると '-325px'に' right'がセットされます。私はこの時点で少しリストです。 how/what/where私はデータクリックをどこに設定するのですか? – VCP
hrefにonclick属性を入れてhrefを削除しない理由は単純なアンカータグ – Araz