2

これで気になるところがある… シェイクエフェクトの例

行を省略した場合、Firefoxで

$this.css({'margin-left':$this.position().left});

次に、ボックスは中央ではなく左にアニメーション化されます。Firefoxを修正するためにそのコード行を保持すると、chromeにも同じ問題が発生します。

これを回避するためのヒントは素晴らしいでしょう。

前もって感謝します

4

4 に答える 4

2

解決策(満足のいくものではありませんが、クロスブラウザで「機能します」-クロスブラウザと言いますが、ie9を取得しましたが、私の作業マシンは仮想PCを実行できません!!!!);

var options = {
              direction: 'left',
              distance: 10,
              times: 2
              };
var left = $this.position().left > parseInt($this.css('margin-left')) ? $this.position().left : $this.css('margin-left');
$this
    .css({'margin-left': left})
    .effect('shake' , options , 75 , function(){
        $this.removeAttr('style');
});
于 2011-02-23T14:59:45.140 に答える
0

$.browserjQueryで Firefox または Chrome を検出できます。

次に、その CSS を適用するかどうかを決定できます。

于 2011-02-23T11:25:57.520 に答える
0

私はあなたが求めていたものを手に入れたと思います、これですか?

http://jsfiddle.net/mwVkm/3/

あなたが示している答えをここの答えと一致させてください。JS Fiddle はデモンストレーション用のリソースであり、回答全体をホストする場所ではありません。– David Thomas 20 分前

上記のコメントに従って、ここに私が変更したものがあります:

jQuery:

$this.css({'margin-left':$this.position().center});

CSS - 以下を含むものにいくつかの微調整を行いました<div>:

#box{ width: 20px; height: 20px; margin:auto auto;}

それが役立つことを願っていますか?

于 2011-02-23T11:33:58.513 に答える