2011-10-20 22 views
6

すべて、センター&回しIE8(jQueryRotate)と画像

私はセンターとボタンのクリックに応じて画像を回転させる方法を探しています。私はjQueryRotateライブラリを使用しています。

ここでは私が考えていたアプローチがあります。

http://jsfiddle.net/HatAndBeard/k3Gxj/6/

これはIE8で以下クローム/ Firefoxで罰金ではなく動作します。私が取り除くことができない画像のアーティファクトがいくつかあります。何か案は?

P.S.私はローテーションの仕方に厳しい要件がないので、他のアプローチも歓迎されています。

P.S.S JSFiddleのリンクが好きでない場合は、コードを投稿できます。

答えて

2

こんにちは、このプラグインの作者をIMと私はプラグインのホームページで、このプラグインに関するコメントや問題点のいずれか:)

を歓迎します

IE8でエミュレートされたIE8またはIE7で再現することができないので、もう少し問題を説明できますか?また、問題を作成するといいでしょう:)

私が見た唯一の「変な」問題は、ページを読み込んだ後にあなたがただ$(img).rotate 0) - ホードとしてマークされしかし、>これは、あなたが画像をクリックすると、アニメーション化する:)

乾杯、

+0

回転を初期化する。ありがとう! http://jsfiddle.net/k3Gxj/8/ – HatAndBeard

2

代わりにRaphaelJSを使ってみましたか?このライブラリでは、過去のクロスブラウザの経験がありました。クリックでラファエルで画像を回転させる

はこのデモを見て、簡単な作業です:http://raphaeljs.com/image-rotation.html

3

私はIEでBasicImage回転機能を使用して問題を中心に働くことになりました。私は90度の増分で画像を表示するだけで済むので、このアプローチは実行可能でした。

私がやったことのラフスケッチ...

function ieRotate(element, rotation) { 
      var rotationInt = 0; 
      switch (rotation % 360) { 
       case 0: 
        rotationInt = 0; 
        break; 
       case 270: 
       case -90: 
        rotationInt = 3; 
        break; 
       case 180: 
       case -180: 
        rotationInt = 2; 
        break; 
       case 90: 
       case -270: 
        rotationInt = 1; 
        break; 

      } 
      element.css('filter', 'progid:DXImageTransform.Microsoft.BasicImage(rotation=' + rotationInt + ')'); 
     } 
+0

を準備ができていることを確認しますねえ、私はIEでこれを行うには、コードの非常に複雑なビットを持っている6+答えた?あなたが行列の数学と三角法に基づいて書くのに長い時間がかかるので、これで大丈夫かどうか疑問に思うだけです。 – Alex

+0

コミュニティに興味があると思うなら、先に進み投稿してください。私の回避策は、同じ問題を抱えている皆さんにとってはうまくいかないでしょう。 – HatAndBeard

+0

ouch :-) okそれをmvc/backbone.jsプロジェクトのすべての部分である瞬間に意味をなさないものにすべてコンパイルさせてください。基本的には、sylvester.jsを行列演算に使用します。IE行列http://msdn.microsoft.com/en-us/library/ms533014(v=vs.85).aspxフィルタとそのzackastronaughtプラグインへのハックロードです。それは次の数日にわたってです。 – Alex

関連する問題