これで気になるところがある… シェイクエフェクトの例
行を省略した場合、Firefoxで
$this.css({'margin-left':$this.position().left});
次に、ボックスは中央ではなく左にアニメーション化されます。Firefoxを修正するためにそのコード行を保持すると、chromeにも同じ問題が発生します。
これを回避するためのヒントは素晴らしいでしょう。
前もって感謝します
これで気になるところがある… シェイクエフェクトの例
行を省略した場合、Firefoxで
$this.css({'margin-left':$this.position().left});
次に、ボックスは中央ではなく左にアニメーション化されます。Firefoxを修正するためにそのコード行を保持すると、chromeにも同じ問題が発生します。
これを回避するためのヒントは素晴らしいでしょう。
前もって感謝します
解決策(満足のいくものではありませんが、クロスブラウザで「機能します」-クロスブラウザと言いますが、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');
});
$.browser
jQueryで Firefox または Chrome を検出できます。
次に、その CSS を適用するかどうかを決定できます。
私はあなたが求めていたものを手に入れたと思います、これですか?
あなたが示している答えをここの答えと一致させてください。JS Fiddle はデモンストレーション用のリソースであり、回答全体をホストする場所ではありません。– David Thomas 20 分前
上記のコメントに従って、ここに私が変更したものがあります:
jQuery:
$this.css({'margin-left':$this.position().center});
CSS - 以下を含むものにいくつかの微調整を行いました<div>
:
#box{ width: 20px; height: 20px; margin:auto auto;}
それが役立つことを願っていますか?