2012-07-28 46 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()