2013-02-21 85 views
0

我試圖讓我的網站在窗口大小更改時縮放它的寬度。JQuery:更改窗口大小左邊的body css屬性調整大小

JQuery的:

$(window).resize(function() { 
    var w = $("body").width(); 
    if(w-810 < 0) { 
     $("body").css("Left","0px"); 
    } 
    else { 
     var width = w.toString() + "px"; 
     $("body").css("Left",width); 
    } 
}); 

CSS:

body { 
background-color: #eeeeee; 
position: relative; 
left: 20%; 
} 

HTML:

<script src="scripts\jquery.min.js" type="text/javascript"></script> 
<script src="scripts\myJavascript.js" type="text/javascript"></script> 
.... 
<body class="body"> 

有一件事我注意到,如果我按類選擇身體(jQuery中變更爲「 #body「),它的寬度總是默認爲0px。

任何想法?

回答

1

如果你想通過一個類來獲得身體元素,你必須使用'.body'選擇。如果你想獲得元素與他們的ID,使用'#body'

嘗試將CS​​S放入小寫,更好地傳遞一個對象作爲參數。此外,還要嘗試「緩存」body元素,以防止DOM樹中出現多個不必要的查詢:

var body = $('.body'); 

$(window).resize(function() { 
    var w = body.width(); 

    if (w-810 < 0) { 
     w = "0"; 
    } 

    body.css({ "left" : w + "px" }); 
}); 
+0

這絕對是更高效。但是,我的頁面仍然無法正確縮放。我現在正在離線處理所有工作,將我的html/css/js文件放在一個文件夾中。這會影響我的產出嗎? – 2013-02-22 00:32:36

+0

發現JavaScript無法離線工作。謝謝你的幫助。 – 2013-02-22 03:56:02

+0

@JoeG不客氣:)我也改變了'w = 0'的'w ='0''賦值,這更好,因爲var'w'的類型總是相同的。這樣,我們改進了代碼的風格,效率更高,因爲對象的「隱藏類」始終是一個數字,而不是數字,然後是字符串。 – albertoblaz 2013-02-22 08:55:05

0

體類是'.body',不'#body'