2012-07-28 54 views
1

我想用jquery手動編寫具有某個div類的一系列元素的css寬度。jquery寫入css寬度

我試圖索要文檔寬度,將其記錄作爲一個變量,然後將該變量傳遞到一個新的CSS「寬」的規則......但是我的jQuery的技能是有點太微薄

http://jsfiddle.net/ZEcCw/

任何想法?

回答

1

試試這個:

var documentWidth = $(document).width(); 
var fiftypercent = documentWidth /2; 
$(".block").each(function() { $(this).css("width",fiftypercent + "px") }); 

這將使所有elemets帶班 「.block」 所需的寬度。也許你應該considder這樣的:

$(".block").each(function() { $(this).css("width","50%") }); 
+0

第一個選項完美的作品。我試圖繞過使用%的其他原因... – user962642 2012-07-28 15:44:42

+0

但我將這個類應用到圖像,然後將其滑下。由於寬度是固定的而高度不是,所以圖像被拉伸。是否有可能讓每個元素將其高度重新調整爲原始圖像? – user962642 2012-07-28 15:46:51

+0

@ user962642:根據具體情況,這個問題有很多提議。看看這個網站:http://techpp.com/2008/08/02/how-to-resize-the-images-using-css-without-losing-the-aspect-ratio/它可能是,一個你走的路。 – Mithrandir 2012-07-28 15:53:22

2

您當前將寬度設置爲字符串文字「fiftypercent」 - 您的意思是變量fiftypercent。另外,你的選擇器需要是一個字符串。

$('.block').css("width", fiftypercent);​ 

你有什麼會導致錯誤;使用JavaScript,如果某些事情看起來不起作用,那麼查看錯誤控制檯總是值得的。

+0

http://jsfiddle.net/ZEcCw/16/ – 2012-07-28 14:59:30

1

你搞砸了你的報價:

var documentWidth = $(document).width(); 
var fiftypercent = documentWidth /2; 
$(".block").css("width", fiftypercent); 

請注意,我加入繞着選擇引號(.block),除去周圍fiftypercent引號引用變量。

+0

這工作,直到我添加的下一部分代碼... AM我只是錯過了另一個jQuery語言的東西?http://jsfiddle.net/ZEcCw/28/ – user962642 2012-07-28 15:14:24

0

嘗試這樣做

var documentWidth = $(document).width(); 
var fiftypercent = documentWidth /2; 
$('.block').css("width",fiftypercent)​​​​​​​​​​ 
0

您已經使用引號在錯誤的地方。如果你想改變div的大小,當用戶調整窗口的大小,你可以嘗試以下方法:

$(window).resize(function(){ 
    var doc = $(document).width(); 
    $(".block").css("width", (doc/2)); 
}).resize()