有必要在块内做这样一个循环滚动的图像,它比图像的高度要小。
https://recordit.co/C00z9EAHW0
我执行以下操作,我的图片向上滚动,然后向下滚动并停止。做错了什么?看起来 setInterval 在 2-- 迭代后停止工作。
function scrollImage(block, image) {
var blockHeight = $(block).height();
var imageHeight = $(image).height();
var different = imageHeight - blockHeight;
setInterval(function() {
if ($(image).css("top") == "0px") {
$(image).animate({
top: -different
}, 6000);
} else {
$(image).animate({
top: "0px"
}, 6000);
}
}, 1);
}
scrollImage(".js-block1", ".js-image1");
.block1 .image_block {
height: 300px;
overflow: hidden;
background: #000;
box-shadow: 0 0 20px rgba(0, 0, 0, 0.5);
position: relative;
}
.block1 .image {
display: block;
width: 100%;
height: auto;
position: absolute;
top: 0;
left: 0;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class="image_block js-block1">
<img class="image js-image1" src="//via.placeholder.com/150x600" alt="image">
</div>
这是一个使用示例
.animate
有一张图片但没有 JS 的变体