我有一个 1200px 宽的 div,在那个 div 里面我有另一个隐藏溢出的 div。这个 div 有随机数量的图像,它们彼此相邻。图像的大小也是随机的。这就像一场轮播:1200px div 中间的图像是活动图像;在该图像的侧面,您可以看到另一个图像。如果用户单击其中任何一个图像,我会为图像所在的 UL 元素的边距设置动画,以便单击的图像以 1200px div 为中心。我当前的方法不能完美地将所选图像居中,这里有人有我可以使用的公式吗?
现在,我用它来计算新的 margin-left 值(向左走):
parseInt($('.images').css('margin-left')) - parseInt((active.width() / 2) + target.width() / 2)
考虑到我的数学能力很差,我希望有人能想出更好的东西。
根据请求,HTML 和 CSS:
<div id="slideshow">
<div class="inside">
<ul class="images">
<li>
<img src="img/1.jpg" width="550" height="550" alt="" />
</li>
<li class="activeimg">
<img src="img/2.jpg" width="550" height="367" alt=""/>
</li>
<li>
<img src="img/3.jpg" width="370" height="550" alt="" />
</li>
<li>
<img src="img/4.jpg" width="393" height="550" alt="" />
</li>
<li>
<img src="img/5.jpg" width="550" height="356" alt="" />
</li>
</ul>
</div>
</div>
和CSS:
#slideshow {
margin: 0 auto;
width: 1200px;
height: 600px;
background-color: #525252;
margin-top: 100px;
border:1px solid black;
overflow: hidden;
text-align: center;
}
#slideshow .inside {
height: 550px;
overflow: hidden;
margin: 25px 0;
}
#slideshow ul {
margin: 0;
padding: 0;
transition: margin 1s;
-moz-transition: margin 1s;
-webkit-transition: margin 1s;
-o-transition: margin 1s;
}
#slideshow li {
list-style-type: none;
float: left;
margin-right: 30px;
position: relative;
}