动态增加Left属性

时间:2013-05-14 05:14:02

标签: jquery html css

我制作了图像滑块,通过计算

放置图像
image.pc = my.percentLandscape;
image.style.left =  xs - (image.pc / 2) / z * my.size +'px';

我想增加图片enter image description here之间的差距。如何动态计算左边属性的值。

我正在使用imageFlow http://finnrudolph.de/ImageFlow/Introduction

3 个答案:

答案 0 :(得分:2)

<击> 你试过修改css吗?

.imageflow img { margin: 0 50px;}

当我试图直接在该网站上修改css时,这似乎有效

修改

很抱歉我的解决方案错误,我下载了插件并查看了详细信息。 因为每个图像都是绝对位置并且位置是动态计算的,所以你必须修改javascript以获得更多空格。

如果您的网站已上传到某个地方,那么我可以查看更多详细信息,但是从您可以从网站下载的示例中,您可以在javascript中编辑以下代码

file:imageflow.js

line: 583: image.style.left = xs - (image.pc / 2) / z * my.size + (50 * index) + 'px';

我添加了

(50 * index)

因此每张图片之间会有50多个像素。

编辑2

由于我在第一次编辑中所做的更改,它已将所有图像向右移动。 它只需要重新计算显示的索引与隐藏索引。

在第543行,我添加了以下行

/* Main loop */
var firstImageIndex = -1;   <---------------------------------this one
for (var index = 0; index < my.max; index++)

然后在第560行,添加以下行

else
{
   if (firstImageIndex < 0)  <---------------------------------this line
      firstImageIndex = index; <-------------------------------this line

   var z = (Math.sqrt(10000 + x * x) + 100) * (my.imagesM + 5);
   var xs = x / z * my.size + my.size;

然后在我们在编辑1中编辑的行上,将逻辑更改为以下

image.style.left = xs - (image.pc / 2) / z * (my.size - 50) + (10 * (index - firstImageIndex)) + 'px';

如果这太混乱或不起作用,请告诉我,我会向您发送我编辑过的javascript。

祝你好运

编辑3 我做了一些修改,这些代码的位置与编辑2区域相同。

First section
    /* Main loop */
    var firstImageIndex = -1;
    var scaleLevel = 5; // higher the number, it will scale it smaller
    var extraSpaceBetweenImage = 100; //extra Space Between Images measured by px
    var shiftLeftLevel = 4; // shift the for image element to the left,

第二部分

if (firstImageIndex < 0)
     firstImageIndex = index;

var z = (Math.sqrt(10000 + x * x) + 100) * (my.imagesM + scaleLevel);

第3节

image.style.left = xs - (image.pc / 2) / z * (my.size - 50) + (extraSpaceBetweenImage * (index - firstImageIndex - shiftLeftLevel)) + 'px';

答案 1 :(得分:-1)

image.pc = my.percentLandscape;
image.style.left = (( (xs - (image.pc / 2)) / z) * my.size )+'px';

假设xs,image.pc,z和my.size是数字

答案 2 :(得分:-1)

您可以这样做,为什么设置图片leftright页边距。

在以下CSS类中添加边距:

.imageflow img {
    margin: 0 30px 0 30px; // Add this line in your CSS
}