gpt4 book ai didi

javascript - jQuery scrollTo 但在两者之间变慢

转载 作者:数据小太阳 更新时间:2023-10-29 05:33:50 25 4
gpt4 key购买 nike

我正在使用一个简单的代码块(基于“ScrollTo Posts with jQuery”,它允许您单击下一个/上一个链接,它会跳转到每个帖子的顶部。

我有我的 HTML 结构,所以它是 post > image > post > image 等等。

我想知道是否有可能如果您单击下一个/上一个按钮,它会像往常一样滚动到下一个帖子,但它会悬停/悬停在中间的图像/div 上?所以它最终完成了它的滚动,但在其间的 div 上变慢了。

这是我的 jQuery 代码:

$(function () {
function a(f) {
var b, e, c = [],
d = $(window).scrollTop(),
g = $('.section-slide');
g.each(function () {
c.push(parseInt($(this).offset()['top'], 10))
});
for (e = 0; e < c.length; e++) {
if (f == 'next' && c[e] > d) {
b = g.get(e);
break
}
if (f == 'prev' && e > 0 && c[e] >= d) {
b = g.get(e - 1);
break
}
}
if (b) {
$.scrollTo(b, {
duration: 1400
})
}
return false
}
$('#next,#prev').click(function () {
return a($(this).attr('id'))
});
$('.scrolltoanchor').click(function () {
$.scrollTo($($(this).attr('href')), {
duration: 1400
});
return false
})
});

最佳答案

假设您的结构将保持静态:post -> image -> post -> image 等。您可以通过找到要滚动到的帖子的上一张/下一张图片并先滚动到它,然后使用$.scrollTo 插件中的 onAfter 回调/设置,在预定义的 setTimeout 之后触发辅助滚动,如下所示:

$(function () {
function scroll(direction) {
var scroll, scrollImage, i,
positions = [],
here = $(window).scrollTop(),
collection = $('.post');

collection.each(function () {
positions.push(parseInt($(this).offset()['top'], 10));
});

for (i = 0; i < positions.length; i++) {
if (direction == 'next' && positions[i] > here) {
scroll = collection.get(i);

// Find Image Before Post
scrollImage = $(scroll).prev('.image').get(0);

break;
}
if (direction == 'prev' && i > 0 && positions[i] >= here) {
scroll = collection.get(i - 1);

// Find Image After Post
scrollImage = $(scroll).next('.image').get(0);

break;
}
}

if (scroll) {
// Check if Scroll Image Exists
if (scrollImage){
// Scroll with Image Delay
$.scrollTo(scrollImage, {
duration: 750,
onAfter: function(){
setTimeout(function(){
$.scrollTo(scroll, {
duration: 750
});
}, 1000); // Change the Delay to Increase / Decrease the Hover
}
});
} else {
$.scrollTo(scroll, {
duration: 750
});
}
}

return false;
}

$("#next,#prev").click(function () {
return scroll($(this).attr('id'));
});

$(".scrolltoanchor").click(function () {
$.scrollTo($($(this).attr("href")), {
duration: 750
});
return false;
});
});

您可以在这里找到更新的 fiddle :http://jsfiddle.net/hfg2v/2/

希望对您有所帮助。

关于javascript - jQuery scrollTo 但在两者之间变慢,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14978533/

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