-1

Adobe Edgeについて頭を悩ませようとしています。私が達成したいことは単純に聞こえますが、実際には問題があります。マウスオーバーすると、私が持っているアニメーションシンボルを表示するボタン要素があります。

現在、ボタンの私のコードはMouseoutです:

sym.$("pgicatext2").hide();

そしてマウスオーバー:

sym.$("pgicatext2").show();

これは機能していないようです。映画のシンボルをオフにして、このコードをボタンで使用すると、結果を得ることができます

sym.$("pgicatext2").toggle();

問題はもちろん、マウスオーバーするたびにアニメーションが再生されるわけではなく、非表示になっている間ずっとアニメーションを再生していることです。

4

2 に答える 2

0

これを投稿してから 1 か月が経ちました。うまくいけば、あなたはあなたの問題を解決しました。非表示と表示のコードは正しく見えます。いくつかのプロジェクトで発生したことの 1 つは、不注意に不透明度 0% のオブジェクトまたはシンボルをボタンまたはマウス オーバー イベントのあるものの上に配置したことです。あなたが持っているボタンの上に何も重ねられていないことを確認してください. 別の方法は、シンボルの自動再生をオフにして、sym.$("pgicatext2").play(); を追加することです。マウスオーバーに。私はそれらが非常に明白な答えであることを知っていますが、時には明白なことを忘れがちです.

于 2013-11-29T17:12:04.750 に答える
0

次の手順を実行してください。

  1. ボタンが他のすべての表示レイヤーの上にあるかどうかを確認します ([要素] タブ)。カーソルを「ポインター」に設定すると、確認に役立つ場合があります。

  2. Mouseover」と「Mouseout」の代わりに「Mouseenter」と「Mouseleave」を使用してください。違いはここで説明されています。

  3. アニメーション シンボルの「自動再生」オプションがオフになっていることを確認してください。シンボルの作成中にチェックマークを付けなかった場合は、タイムラインの最初のステージで再生を「停止」に設定してください。

  4. いくつかのコーディングをしましょう。アニメーション化されたシンボルの名前が「フィルム」であると仮定しましょう。ボタン要素に次のアクションを設定する必要があります。

マウス入力:

sym.$("film").show();
sym.getSymbol("film").play();

これは基本的に「フィルム」要素を表示し、「フィルム」シンボルを再生します

マウスリーブ:

sym.$("film").hide();
sym.getSymbol("film").stop(0);

これは「フィルム」要素を非表示にし、アニメーションの開始時に「フィルム」シンボルを停止します(0ms)

楽しみ!

于 2014-02-05T15:59:48.093 に答える