我願做這樣的事情,但它不工作CSS使用Javascript
window.onresize = center;
function center()
{
var x=window.innerWidth;
x = x/2;
document.getElementById("center_div").style.marginLeft = x;
}
我該怎麼辦呢?
我願做這樣的事情,但它不工作CSS使用Javascript
window.onresize = center;
function center()
{
var x=window.innerWidth;
x = x/2;
document.getElementById("center_div").style.marginLeft = x;
}
我該怎麼辦呢?
您必須添加px
,Element.style.marginLeft
不接受數字。它應該是有效的CSS屬性(margin-left
)值;它可以是10px
或5%
或auto
;
document.getElementById("center_div").style.marginLeft = x + 'px';
我認爲你要找的是css屬性margin: auto
。隨機的例子(不是我的):http://bluerobot.com/web/css/center1.html。另外,你會想要width: 50%
。那是你在找什麼?讓我知道,如果需要的話,我會改變我的答案。 :)
他想使用javascript – 2013-04-10 01:41:27
您的代碼很好,但缺少一件事。你必須在X變量之後加上「px」。換句話說,它應該是: document.getElementById("center_div").style.marginLeft = x+"px";
否則,瀏覽器將不知道它的單位。
我在jsfiddle中做了一個示例,這將是一個工作示例。嘗試一下。 http://jsfiddle.net/TLPak/
PS。我更新了代碼以包含window.onresize。 (還有一些改進,考慮了DIV的寬度。)http://jsfiddle.net/TLPak/1/通過點擊事件觸發它或在窗口調整大小事件都是好的。希望它對你有一些幫助。
function center() {
var x=window.innerWidth;
x = x/2;
var y = document.getElementById("center_div").offsetWidth;
y = y/2;
document.getElementById("center_div").style.marginLeft = x - y + "px";
}
window.onresize = center;
這不會使對象居中,它會將對象的左上角放到中心。你需要更新左邊的餘量 – 2013-04-10 01:43:19
行,我修改了代碼。它現在將在窗口大小調整事件上工作。 – AYoiS 2013-04-10 02:11:12
請定義「不起作用」的含義。 – 2013-04-10 01:11:53
你想用你的代碼做什麼?你能解釋一下嗎? – eggy 2013-04-10 01:14:24
據我所知,這是一個無效的函數調用,你需要包含括號,即center();.您可能還必須爲窗口大小調整創建一個事件偵聽器。 – lukeocom 2013-04-10 01:16:39