2012-02-07 87 views
0

我有用jQuery编写的图像滑块。我需要将图像分成两组(如杂志),因此我有classes.pageLeft和.pageRight,它们使用与容器宽度相等的左或右边距减去页面宽度img(.page类)。我希望能够全屏显示此滑块并动态计算和更改.page的宽度和.pageLeft/.pageRight类的边距值。有没有办法做到这一点,或者我对这一切都做错了?jQuery - 动态更改css类的值

我认为可以这样做的最佳方式是直接将类写入DOM,但随后我必须清空并添加每一次。

这里是什么,我想说

nPageWidth = 768; 
nPageWidthPlusMargin = ($('#container').width()/2); 
nPageMargin = nPageWidthPlusMargin - nPageWidth; 

,然后使用该值来改变保证金左= nPageMargin在CSS类的一个实例。

对不起,如果这是一个令人困惑的问题。谢谢你的时间。

编辑:我试图这样做的主要原因是通过将图像的宽度设置为3:4设置为100%的图像的高度来保持图像的宽高比。的容器。

回答

0

是计算的利润率居中页面的目的是什么?在这种情况下,您可以将两个页面包装在一个包装中,给这个包装一个明确的宽度,并将包装的左右边距设置为auto

然后你不需要担心计算利润率。只要确保包装具有正确的宽度。根据您的设计,这个宽度可以设置为容器的百分比。包装页面也是如此,它们可以有width: 50%。这样,你甚至都不需要使用Javascript :)

小提琴:http://jsfiddle.net/F4ktm/

+0

目的是居中他们以及了解多少上一个或下一个点击溢出的内容滑动。我遇到的唯一问题是,似乎我无法以任何方式维持宽高比。 – MJS 2012-02-07 15:43:58

+0

我花了一段时间才把我的页面转到这个解决方案工作的地步;但是,一旦我终于做到了,这正是我需要的正确方向的微调。我必须为包装类写入,以便每个包装可以占容器总大小的百分比。谢谢你的帮助! – MJS 2012-02-08 22:15:52

0

我想你应该使用百分比来代替像素值的边距。

$("#container .pageLeft").css("margin-right", "5%"); 
$("#container .pageRight").css("margin-left", "5%"); 

编辑那么你就不必一次又一次地计算利润。

编辑仅适用于CSS:

#container .pageLeft { 
    margin-right: 5%; 
} 
#container .pageRight { 
    margin-left: 5%; 
}