2013-10-26 55 views
-1

我不擅長編程移動網頁佈局等。無法使用var設置頁邊距:JavaScript,CSS和jQuery

我寫這樣的:

HTML:

<div id="title">...</div> 

的JavaScript

$("#title").css("margin-left", "7%"); 
$("#title").css("margin-right", "7%"); 

var i = screen.width * 0.018 + "px";   // It would be 24.588 at resolution of 1366 
$("#title").css("margin-top", i);    // And i wanted to use 24.588px here 
$("#title").css("margin-bottom", i);   // and here. 

和Chrome顯示在左側和右側的股利的利潤,但不會呈現頂部和底部MARGINS ...

+0

'瀏覽器就會顯示在左側和右側的股利的利潤,但不會呈現頂部和bottom'。即使是左邊和右邊也不可能。 – Manoj

回答

4

所有margin_*屬性不應該用下劃線分離,而是由-破折號,像這樣:

$("#title").css("margin-left", "7%"); 
$("#title").css("margin-right", "7%"); 

var i = screen.width * 0.018 + "px"; 
$("#title").css("margin-top", i); 
$("#title").css("margin-bottom", i); 

jQuery的.css()方法,在這種形式中使用時,佔用CSS屬性名作爲第一個參數,並設定作爲其第二值。

另外,這樣做的更好的方法是將對象傳遞給.css()

var margin = screen.width * 0.018 + "px"; 

$('#title').css({ 
    marginLeft: "7%", 
    marginRight: "7%", 
    marginTop: margin, 
    marginBottom: margin 
}); 

請注意,在這裏你需要使用屬性的駱駝套管版本。

此外,爲什麼不使用百分比來計算頂部和底部邊距而不是在JavaScript中計算它們?

+1

我正要編輯,做你剛做的事! ...我希望我可以兩次提高你的評價(用於傳遞一個對象,而不是使用'css()'的無限鏈)。 (說過我'要去',然後我重新考慮並留下了一條評論,建議你可以這樣做,它從別人的'編輯'中感覺有點實質性)。 –

+1

@大衛怎麼meta';)' – Bojangles

+0

對不起,我把它寫成像你的examlpe margin-top而不是margin_top 我發佈的代碼不是原來的。我想我應該在寫垃圾之前使用我的大腦:.. – KeksArmee

1

有不需要任何下劃線或破折號,則需要使用大寫字母,如:

$("#title").css("marginLeft", "7%"); 
0

這可能是更加簡單。

function marge() { 
    var sw = $(window).width() * 0.018 + "px";//get margin 
    $("#title").css({margin: sw+' 7%'});//set margin tb lr 
} 
marge();//run initially 
$(window).resize(function() { marge(); });//to adjust on resize of the window 

線2 & 3解決這一問題,剩下的允許它在窗口再次運行函數如果需要調整。

做出了小提琴:http://jsfiddle.net/filever10/z2HQL/

+0

@KeksArmee這是否解決了你的問題? – FiLeVeR10