jQuery/JS–点击博客图片滚动到下一个博客项目
jQuery/JS – click blog image scroll to next blog item
我正在构建的一个网站上有一个日志/博客部分,我正在尝试编写一些JS/jQuery,允许点击每个博客项目上的任何图像,以平滑地向下滚动到下一个博客项目。如果你正在查看当前博客项目,但可以看到上一个博客项目的图像,然后单击该图像,它会将你带到该博客项目的顶部。
我想这在很大程度上与滚动位置和视图有关。如果查看当前文章并单击,则滚动到下一篇文章。如果你点击了刚刚看到的上一篇或下一篇文章的图片,你就会转到该文章。
这种效果与此非常相似>http://www.morganstudio.co.uk/journal/我已经建立了一个快速jsFiddlehttp://jsfiddle.net/qfmejz81/1/从中工作,并使用该网站中的一些代码来构建我认为可行的东西,但它似乎不能100%工作(点击时它倾向于向下滚动一点,而不是滚动到下一篇文章)
// Journal click image to scroll
$('.each-journal-entry .slider-container .journal-slider .each-slide img').on('click', function() {
var e = $(this).parents('.each-journal-entry');
var t = e.offset().top;
var n = e.height();
var r = $(window).scrollTop();
var i = $(window).height();
var s = null;
if (t + n / 2 < r) {
s = e;
} else if (t + n / 2 - 48 > r + i) {
s = e;
} else {
s = e.nextAll('.each-journal-entry');
}
var o = s.offset().top;
var u = s.height();
var a = o - ($(window).height() - u) / 2;
$('body').stop().animate({
scrollTop: a
}, 500);
});
根据图像的结构,您将需要获得图像的父级,该父级是每个幻灯片的类的div。然后将animate"scrolltop"属性设置为下一个元素的顶部。
$('.each-journal-entry .slider-container .journal-slider .each-slide img').on('click', function () {
$this = $(this);
$('html, body').animate({
scrollTop: $this.closest('.each-journal-entry').next().offset().top
}, 2000);
});
http://jsfiddle.net/w7rtcmp0/3/
相关文章:
- 滚动到容器中的下一个元素-几乎到了
- 下一个/上一个锚链接,如何在用户滚动时更新下一个/上一个链接
- 滚动到列表中的特定项目,然后滚动到列表的下一个特定项目
- jQuery鼠标滚动到下一个id
- 修复了标题导航和滚动到()下一个/上一个元素
- 新颂网站 - 滚动时从一个背景图像平滑过渡到下一个背景图像
- JQuery 滚动到滚动到下一个 DIV
- jQuery通过向上/向下按钮滚动到下一个元素 - 如何为手动滚动添加处理,否则会混淆这一点
- 水平滚动页面上的“上一个”和“下一个”链接
- 滚动到数组中的下一个元素 ID
- 按“j”时滚动到下一个
- 当移动到最后一个li时,返回到第一个li(使用Jquery滚动到下一个)
- jQuery/JS–点击博客图片滚动到下一个博客项目
- 在鼠标滚轮上自动滚动到下一个锚点
- 滚动到下一个<文章>
- 如何限制滑块,使我的“下一个”和“上一个”按钮不会出现't将内容滚动到空白处
- 如何停止滚动或移动下一个标签,如果我的javascript函数返回false
- Jquery插件图像滚动与前一个和下一个图像可见的一面
- jQuery播放下一个视频上的滚动
- 滚动到一个元素使用js失败在我的情况下