id 属性を持つイメージタグがあります。この読み込み中の画像を特定の html フォームの中央に表示したい (私はその html フォームの ID を持っています)。私はjqueryを使用しています。私はこれに行く方法がわかりませんか?
<img id="loading" src="loading.gif" />
これを行う理由は、1 つのページ内に複数のフォームを含めることができるためです。完全なページ境界ではなく、特定のフォーム境界の中央に画像を表示したい
id 属性を持つイメージタグがあります。この読み込み中の画像を特定の html フォームの中央に表示したい (私はその html フォームの ID を持っています)。私はjqueryを使用しています。私はこれに行く方法がわかりませんか?
<img id="loading" src="loading.gif" />
これを行う理由は、1 つのページ内に複数のフォームを含めることができるためです。完全なページ境界ではなく、特定のフォーム境界の中央に画像を表示したい
CSSが登場すると、この非常に基本的な構造になります(このHTMLをフォーム内に配置し、CSSをスタイルオーバーレイに追加します)
<div class="loader">
<img src="http://cdn1.iconfinder.com/data/icons/duesseldorf/32/process.png">
</div>
このようなものを使用できます...
$('#form-id').submit(
function(e) {
$(this).children().hide();
$(this).append('<img id="loading" src="loading.gif" />');
}
);
次の jQuery メソッドが必要です。
offset()
width()
height()
いくつかの計算を行うと、要素をフォームの中央に簡単に配置できます。フォームのデフォルト幅は 100% であることに注意してください。
私のソリューションを確認してください:http://jsfiddle.net/3pbkV/
おそらく、フォームを DIV 内にラップし、img
マージンを付けて配置して、DIV の中央に表示されるようにする必要があります (フォームを含む)。
img#loading {
display: block;
margin-left: auto;
margin-right: auto;
}
JavaScript などを使用してデフォルトで非表示にすることもできます。
編集: フォーム内の既存のコンテンツに関しては、画像の位置を で指定しますposition:absolute;
。
position:absolute;
ローダーをフォームの中央に配置するために使用する場合は、フォームで を使用することを忘れないposition: relative;
でください。絶対配置の要素は、最初に配置された親要素に対して相対的に配置されるためです。
例: HTML:
<form id="myform">
<div class="loader"><img src="loading.gif"></div>
</form>
CSS:
form#myform {
position: relative;
}
div.loader {
width: 60px;
height: 60px;
position: absolute;
left: 50%;
top: 50%;
margin-top: -30px;
margin-left: -30px;
display: none;
}
jQuery:
$(function() {
$('form#myform').submit(function() {
$(this).find('.loader').show();
});
});