ページの読み込み時にJSを介してサイズを変更する必要があるdivを含むページがあります。これを行うために、760pxの「デフォルト幅」を指定してから、次のコードを実行します。
function resizeList()
{
var wlwidth,iwidth,nwidth;
wlwidth = document.body.clientWidth - 200 - 60;
iwidth = 320;
nwidth = Math.floor(wlwidth / iwidth) * iwidth;
$('#list').css('width',nwidth);
}
$(document).ready(function(){
// if we're looking at a list, do the resize-thing, now and on window resize
if (window.location.pathname.toString().split('/')[1] == "list")
{
resizeList();
window.onresize = resizeList;
}
});
ただし、#list
divには多くの画像が含まれているため、ページの読み込みに時間がかかる場合があります。したがって、divは、すべてのコンテンツのロードが完了した後にのみ、正しい幅を満たすように展開されます。関数からそれを取り出すことはできません$(document).ready
。そうしないと、document.bodyが未定義であるとエラーになります。
#list
すべてのコンテンツがロードされる前にdivのサイズを変更する方法はありますか?
編集
参照してください:http
://www.google.com/images?q=whatever
彼らは私が成功させようとしていることを達成しました。リストは、ページの読み込み時にすぐに正しいサイズになり、その後入力されます。ウィンドウのサイズを変更し、要素がスムーズに移動するのを確認することで、JSを介してすべてのサイズを確認できます。悲しいことに、グーグルのJSはため息を読むのが世界で最も簡単ではありません