私は自分のウェブサイトのツールバーに取り組んでおり、現在ランダムなボタンを配置しています。ウィンドウのサイズが変更されてボタンが収まらない場合は、別のリストに移動したいと考えています。
コードは次のとおりです。
window.onresize = function() {
var div = document.getElementById("button_holder");
var divRight = document.getElementById('button_holder_right');
var extraButton = document.getElementById('barMoreButton');
var extraMenu = document.getElementById('extraMenu');
var i;
widthOfResizeMenuItems = 0;
for (i=0;i<div.childNodes.length;i++) {
var button = div.childNodes[i];
if( widthOfResizeMenuItems > div.offsetWidth ) {
button.remove();
extraMenu.appendChild(button);
extraButton.style.display = 'inline-block';
divRight.width = 78;
}else if( widthOfResizeMenuItems < div.offsetWidth ) {
if( extraMenu.childNodes.length > 0 ) {
div.appendChild(extraMenu.childNodes[0]);
}
extraButton.style.display = 'none';
divRight.width = 52;
}
widthOfResizeMenuItems = widthOfResizeMenuItems + button.offsetWidth;
}
console.log("Count: " + i + " --- Width: " + widthOfResizeMenuItems);
}
バーの構造はこちら
div#srgapi_toolbar
table
tr
td#button_holder
button (x9)
td#button_holder_right
button#barMoreButton
div#extraMenu
ここにデモがあります: http://api.shadowravengames.co.uk/test.php ウィンドウのサイズを変更して、現在何が起こっているかを確認してください。
要素が他のメニューに移動するのではなく、新しい行に折り返されるのはなぜですか?どうすれば修正できますか?