我使用jQuery来实现幻灯片放映动画 html看起来像:
<div class="slideshow pointer">
<img class="next" src="img1">
...
</div>
我使用jQuery查找下一个图像,淡出前一个图像并淡入下一个图像。通过图像拇指的单击动作使该幻灯片部分可见。加载第一张图像后,网页将滚动到正确的位置(显示图像的正确位置)
但是当我点击显示下一张图片时,网页滚动到另一个地方,然后点击下一步,网页滚动到另一个不同的地方。地址保留在'www.xxx.home.html#/ books / 01 /'。我使用另一个javascript函数使这个地址在正确的位置显示网页
我已经检查过,当我点击显示下一个图像时,只使用了这个函数,没有其他函数可以导致slideDown或滚动动作(不是100%肯定)。我想知道fadeIn()动作是否比我预期的更多,例如一些滚动动作?
javascript代码:
$('body').on('click', '.slideshow img', function(e){
var thisimg = $(this);
var thisss = thisimg.parent();
var totimgs = thisss.find("img").length;
if (totimgs > 1){
var thisindex = thisimg.index();
var x = e.pageX - 240;
if (x < 240 || x > 600) {
if (x < 240) {
var nextindex = thisindex - 1;
if (nextindex < 0) {
nextindex = totimgs - 1;
}
} else if (x > 600) {
var nextindex = thisindex + 1;
if (nextindex > totimgs - 1) {
nextindex = 0;
}
} else {
nextindex = thisindex;
}
thisimg.fadeOut(500);
var nextss = thisss.find("img:nth-child(" + (nextindex + 1) + ")");
nextss.fadeIn(500);
}
}
});
有人能说出理由吗?或者还有什么我需要检查是什么使这个滚动?