[解決済み] jQueryでdivを回転させる方法【終了しました
質問
jQueryを使ってdivを回転させることは可能ですか?画像は回転させることができますが、divを回転させることはできません。このための解決策はありますか?
どのように解決するのですか?
EDIT: jQuery 1.8用に更新しました。
jQuery 1.8 からは、ブラウザ固有の変換が自動的に追加されます。 jsFiddleデモ
var rotation = 0;
jQuery.fn.rotate = function(degrees) {
$(this).css({'transform' : 'rotate('+ degrees +'deg)'});
return $(this);
};
$('.rotate').click(function() {
rotation += 5;
$(this).rotate(rotation);
});
EDIT: jQueryの関数にするためのコードを追加しました。
これ以上読みたくないという人のために、どうぞ。詳細と例については、こちらをお読みください。 jsFiddleデモ .
var rotation = 0;
jQuery.fn.rotate = function(degrees) {
$(this).css({'-webkit-transform' : 'rotate('+ degrees +'deg)',
'-moz-transform' : 'rotate('+ degrees +'deg)',
'-ms-transform' : 'rotate('+ degrees +'deg)',
'transform' : 'rotate('+ degrees +'deg)'});
return $(this);
};
$('.rotate').click(function() {
rotation += 5;
$(this).rotate(rotation);
});
EDIT: この投稿のコメントのひとつに、次のようなものがありました。 jQuery Multirotation . このjQueryのプラグインは、基本的に上記の機能をIE8をサポートした上で実行します。最大限の互換性を求める場合や、より多くのオプションを求める場合は、使用する価値があるかもしれません。しかし、最小限のオーバーヘッドを求めるなら、私は上記の機能をお勧めします。それはIE9 +、Chrome、Firefox、Opera、および多くの他を動作します.
ボビー... これは実際にjavascriptでやりたい人のためのものです。javascriptのコールバックで回転させるために必要な場合があります。
以下は jsFiddle .
カスタム間隔で回転させたい場合は、クラスを追加する代わりに、jQueryを使って手動でcssを設定することができます。例えば これ ! 私は、回答の下部に両方のjQueryオプションを含めています。
HTML
<div class="rotate">
<h1>Rotatey text</h1>
</div>
CSS
/* Totally for style */
.rotate {
background: #F02311;
color: #FFF;
width: 200px;
height: 200px;
text-align: center;
font: normal 1em Arial;
position: relative;
top: 50px;
left: 50px;
}
/* The real code */
.rotated {
-webkit-transform: rotate(45deg); /* Chrome, Safari 3.1+ */
-moz-transform: rotate(45deg); /* Firefox 3.5-15 */
-ms-transform: rotate(45deg); /* IE 9 */
-o-transform: rotate(45deg); /* Opera 10.50-12.00 */
transform: rotate(45deg); /* Firefox 16+, IE 10+, Opera 12.10+ */
}
jQuery
これらが$(document).readyでラップされていることを確認する。
$('.rotate').click(function() {
$(this).toggleClass('rotated');
});
カスタムインターバル
var rotation = 0;
$('.rotate').click(function() {
rotation += 5;
$(this).css({'-webkit-transform' : 'rotate('+ rotation +'deg)',
'-moz-transform' : 'rotate('+ rotation +'deg)',
'-ms-transform' : 'rotate('+ rotation +'deg)',
'transform' : 'rotate('+ rotation +'deg)'});
});
関連
-
[解決済み] jQueryで要素が非表示になっているかどうかを確認するには?
-
[解決済み] 配列に特定のインデックスで項目を挿入する方法 (JavaScript)
-
[解決済み] event.preventDefault() vs. return false
-
[解決済み] jQueryの「exists」関数はありますか?
-
[解決済み] jQueryでテーブルの行を追加する
-
[解決済み] jQueryで要素にスクロールする
-
[解決済み] jQueryを使用しない$(document).ready相当
-
[解決済み] Microsoft JSONの日付はどのようにフォーマットするのですか?
-
[解決済み】別のウェブページにリダイレクトするにはどうすればいいですか?
-
[解決済み】jQueryでチェックボックスがチェックされているかどうかを確認するにはどうすればよいですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] jquery fadeIn が動作しない。
-
[解決済み] JQueryの使用 - フォームが送信されないようにする
-
[解決済み] jQueryで文字色を変更するにはどうすればよいですか?
-
[解決済み] jQueryを使って要素のIDを取得するにはどうすればよいですか?
-
[解決済み] jQueryで関数呼び出しを繰り返す方法
-
[解決済み] ネストした多次元のjsonオブジェクトの書き方
-
[解決済み] jQuery - クラスの代わりにIDを追加する
-
[解決済み] 3桁ごとの数字にカンマを追加
-
[解決済み] jQueryとIntraweb?
-
[解決済み] Uncaught TypeError: 未定義のプロパティ 'ajax' を読み取ることができません。