フォームの送信後にjQueryを使用して成功メッセージを表示しています。フォームは、Wordpress Plugin Contact Form 7を使用して作成されます。クラスwpcf7-mail-sent-ok
は、プラグインajax送信スクリプトによって動的に追加されます。ユーザーがメッセージをクリックするとフェードアウトしてから消えるようにしようとしています。何らかの理由でremoveClassメソッドが機能していません。jquery live()click function:クラスが削除されていません
なぜ誰もそれが動作してはならない理由を見ることができますか?タイムアウト関数は、私が "alert()"呼び出しを使ってテストしたので、間違いなく機能しています。ご協力いただきありがとうございます。
PS ...私はless cssを使用していますので、ここに掲載されているCSSの.opacity()構文について説明します。
HTML:
<div class="wpcf7-response-output wpcf7-mail-sent-ok"><div class="image"></div></div>
のjQuery + CSS
var $sent = $('.wpcf7-mail-sent-ok ');
function remove() {$sent.hide().removeClass('wpcf7-mail-sent-ok hide').removeAttr('style')}
$sent.live("click", function(){
$(this).addClass('hide');
setTimeout(remove,400)
});
.wpcf7-response-output {
width: 100%;
height: 100%;
position: fixed;
top: 0;
left: 0;
z-index: -1;
background: transparent;
opacity: 0;
-moz-opacity: 0;
.transition(opacity,.4s);
}
.wpcf7-response-output.wpcf7-mail-sent-ok .image {
width: 400px;
height: 138px;
display: block;
position: absolute;
z-index: 2000;
top: 50%;
left: 50%;
margin: 0;
background: url(assets/images/loading.png) no-repeat;
background-size: 0 0;
-webkit-transition: margin .4s ease-in-out;
-moz-transition: margin .4s ease-in-out;
-o-transition: margin .4s ease-in-out;
-ms-transition: margin .4s ease-in-out;
transition: margin .4s ease-in-out;
-webkit-animation: pulse 400ms ease-out infinite alternate;
-moz-animation: pulse 400ms ease-out infinite alternate;
-o-animation: pulse 400ms ease-out infinite alternate;
animation: pulse 400ms ease-out infinite alternate
}
.wpcf7-response-output.wpcf7-mail-sent-ok {z-index: 1000; background-color: rgba(255,255,255,.7); .opacity(1)}
.wpcf7-response-output.wpcf7-mail-sent-ok .image {
height: 132px;
position: absolute;
margin: -66px 0 0 -200px;
background-size: 100% 100%;
background: url(assets/images/img-sent.png) no-repeat center center;
}
.wpcf7-mail-sent-ok.hide {.opacity(0); z-index: -1}
ジョン、あなたは男です。ありがとうございました。完璧な説明 –