2

こんにちは友人私は jquery によってトリガーされる CSS3 アニメーションを作成しようとしています。つまり、ユーザーが何らかのフォームを送信すると、アニメーション (css3) をしばらく表示し、次のページにリダイレクトする必要があります。

CSS3 アニメーション:

.circle {
    background-color: rgba(0,0,0,0);
    border: 5px solid rgba(0,183,229,0.9);
    opacity: .9;
    border-right: 5px solid rgba(0,0,0,0);
    border-left: 5px solid rgba(0,0,0,0);
    border-radius: 50px;
    box-shadow: 0 0 35px #2187e7;
    width: 50px;
    height: 50px;
    margin: 0 auto;
    -moz-animation: spinPulse 1s infinite ease-in-out;
    -webkit-animation: spinPulse 1s infinite linear;
}

.circle1 {
    background-color: rgba(0,0,0,0);
    border: 5px solid rgba(0,183,229,0.9);
    opacity: .9;
    border-left: 5px solid rgba(0,0,0,0);
    border-right: 5px solid rgba(0,0,0,0);
    border-radius: 50px;
    box-shadow: 0 0 15px #2187e7;
    width: 30px;
    height: 30px;
    margin: 0 auto;
    position: relative;
    top: -50px;
    -moz-animation: spinoffPulse 1s infinite linear;
    -webkit-animation: spinoffPulse 1s infinite linear;
}

@-moz-keyframes spinPulse {
    0% {
        -moz-transform: rotate(160deg);
        opacity: 0;
        box-shadow: 0 0 1px #2187e7;
    }

    50% {
        -moz-transform: rotate(145deg);
        opacity: 1;
    }

    100% {
        -moz-transform: rotate(-320deg);
        opacity: 0;
    };
}

@-moz-keyframes spinoffPulse {
    0% {
        -moz-transform: rotate(0deg);
    }

    100% {
        -moz-transform: rotate(360deg);
    };
}

@-webkit-keyframes spinPulse {
    0% {
        -webkit-transform: rotate(160deg);
        opacity: 0;
        box-shadow: 0 0 1px #2187e7;
    }

    50% {
        -webkit-transform: rotate(145deg);
        opacity: 1;
    }

    100% {
        -webkit-transform: rotate(-320deg);
        opacity: 0;
    };
}

@-webkit-keyframes spinoffPulse {
    0% {
        -webkit-transform: rotate(0deg);
    }

    100% {
        -webkit-transform: rotate(360deg);
    };
}

これはhtmlです

<div class="circle"></div>
<div class="circle1"></div>
<button class="next" name="submit" id = "submit"></button>

ここで、ユーザーがクリックすると、この効果を短時間表示する必要があります (このアニメーションが再生されている間、ユーザーはページの残りの部分で何もできないはずです)。

4

3 に答える 3

0

こんにちは友人私はこれに対する解決策を見つけましたこれを修正するのを手伝ってくれてありがとう@JOPLOmacedo

    $function(){

     $('#submit').click(function(){

     $('.loadingOverlay').css('display', 'block');
     function complete() {
         $('.loadingOverlay').css('display', 'none');
      }
            $('.circle').hide().fadeIn(1000,complete);
            $('.cirlce1').hide().fadeIn(1000,complete);
      });

    }
于 2013-09-19T15:14:21.097 に答える
0

これにはjQueryを使用することをお勧めします。

デフォルトでは、アニメーションをオーバーレイとして表示できます (JOPLOmacedo が言ったように)。

次に、JavaScript に以下を追加します。

$(document).ready(function() {
  $('.loadingOverlay').fadeOut();
});

これにより、サイトをロードする必要がある限り、ロード オーバーレイが表示されます (実際にはロード アニメーションで表示したいものです)。ページが読み込まれると、この JavaScript はページをフェードアウトします。

私の解決策は、JOPLOmacedo の回答に基づいています。

編集 あなたの新しいコメントを見ました。ボタンのクリックで表示するには、次のようにします。

$(document).ready(function() {
  $('.button').click(function() {
    $('.loadingOverlay').fadeIn();
  });
});

クリック イベント関数内で、X 秒後に再びフェードアウトする間隔を開始できます。

于 2013-09-19T14:26:22.437 に答える