gpt4 book ai didi

jQuery 动画到 div 中的下一个图像

转载 作者:行者123 更新时间:2023-11-30 23:58:22 25 4
gpt4 key购买 nike

我在 div 中有一些图像,当我单击下一个按钮时,我尝试将其动画到 div 中的下一个图像

在这个 div 中,我还有上一个和下一个按钮,我显然不想为其设置动画。

<div class="work">
<a href="#" class="rightButton"><img src="http://www.jamietaylor-webdesign.co.uk/images/home/right.png" /></a>
<a href="#" class="leftButton"><img src="http://www.jamietaylor-webdesign.co.uk/images/home/left.png" /></a>
<a href="#" class="1"><img class="topLeft" src="/image/JQFbb.jpg" /></a>
<a href="#" class="2"><img class="topRight" src="/image/l5OPs.jpg" /></a>
<a href="#" class="3"><img class="bottomLeft" src="/image/okxQz.jpg" /></a>
<a href="#" class="4"><img class="bottomRight" src="/image/4uPHw.jpg" /></a>
</div>

我的 jQuery 实际上不起作用

    // prevent click jump
$('a').click(function() {
return false;
});

// do work
$('.work > .leftButton').click(function() {

//animate to previous image in the list
$(this).siblings().prev().show();

});

$('.work > .rightButton').click(function() {

//animate to next image in the list
$(this).siblings().next().show();

});

是否有一种方法可以为下一个没有 leftButtonrightButton 类的图像设置动画。

还有没有办法让我在第一个图像上时它会转到 div 中的最后一个图像?

Here's a link to the jsFiddle i've got

有什么想法吗?

最佳答案

编辑以将图像滚动到 View 中:

这需要对标记进行一些更改,但将允许图像向左/向右滚动:

HTML:

<div class="work">
<div class="nav">
<a href="#" class="rightButton"><img src="http://www.jamietaylor-webdesign.co.uk/images/home/right.png" /></a>
<a href="#" class="leftButton"><img src="http://www.jamietaylor-webdesign.co.uk/images/home/left.png" /></a>
</div>
<div class="scroller">
<div class="items">
<a href="#" class="1"><img class="topLeft" src="/image/JQFbb.jpg" /></a>
<a href="#" class="2"><img class="topRight" src="/image/l5OPs.jpg" /></a>
<a href="#" class="3"><img class="bottomLeft" src="/image/okxQz.jpg" /></a>
<a href="#" class="4"><img class="bottomRight" src="/image/4uPHw.jpg" /></a>
</div>
</div>
</div>

相关CSS:

div.work { background-color: #ddd; height:240px; position: relative; width:300px;  margin-left:10px}
div.items { position:relative; width: 1000em; height: 240px; }
div.scroller { overflow: hidden; width: 300px; height: 100%; }

JavaScript:

$('.work .leftButton').click(function() {
var $items = $(".items");
if ($items.position().left === 0) {
$items.css("left", "-300px");
$items.children("a:last").prependTo($items);
}
$(".items").animate({
left: "+=300px"
});
});

$('.work .rightButton').click(function() {
var $items = $(".items");
if ($items.position().left === -900) {
$items.css("left", "-600px");
$items.children("a:first").appendTo($items);
}

$(".items").animate({
left: "-=300px"
});

});

基本上发生的事情是有一个固定的视口(viewport)(scroller),带有隐藏的溢出,其中包含一个非常长的div(items),其中包含所有图像。每次单击下一个/上一个按钮时,items div 都会呈现动画。

棘手的部分是当到达图像行的末尾时将最后一个元素移动到前面,反之亦然。这是由硬编码值确定的,但可能可以使用精确计算来改进。

工作示例:http://jsfiddle.net/andrewwhitaker/6TLK2/3/

关于jQuery 动画到 div 中的下一个图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5053413/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com