3

私のチェックアウトカートには、(1)が送信され、カードがphpスクリプトで処理された後、(1)「ProcessingOrder...」のアニメーションが表示されます。ただし、ユーザーが「注文受付済み」ページに到達し、戻るボタンを押したときにトリガーされるバグがあります。「ProcessingOrder...」アニメーションは引き続き表示されます。

(1)処理画面は次のように表示されます。

<div style="position:absolute;display:none;" id="animation">
    <img src="animation.gif"/>
</div>

(2)ボタンが送信されると、使用されるjavascriptは次のとおりです。

onClick="document.getElementById('animation').style.display='block';
         document.the_form.submit();"

つまり、ボタンがクリックされ、アニメーションが表示され、フォームが送信され、カードが処理され、ユーザーは新しいページに移動します。

ユーザーがクリックして戻ると、アニメーションのないページが表示されるはずです。ただし、onLoadはトリガーされず、アニメーションの最後の状態(表示されている)が保存されます。

ユーザーがページに戻ったときにアニメーションを削除する方法はありますか?

4

2 に答える 2

3

Adam Aのコメントに触発されて、ユーザーがページを離れるときにアニメーションを非表示にすることができます(フォーム送信を介して通常のルートであると思われます)。そのため、ページに戻った場合、アニメーションは表示されません。

これを実現する1つの方法は、HTML本体のonunloadイベントに非表示コードを追加することです。

<body onunload="document.getElementById('animation').style.display='none';">
于 2009-11-17T19:06:58.703 に答える
1

最近のほとんどのブラウザでは、クリックして戻るとページが再読み込みされず、最後に記憶されたとおりにメモリから表示されます(これは望ましい動作である可能性が高いため)。

私のUIデザインの限られた経験では、注文を送信した後にユーザーに[戻る]ボタンをクリックしてもらいたい理由がわかりません。代わりに、ユーザーが完了したい次のタスクに進むためのリンクを提供する必要があります。または、便利なタスクがあり、「ありがとう、注文は受け付けられました」というメッセージをどこかに表示するだけの新しいページに転送します。

于 2009-11-09T15:06:38.667 に答える