我有轻微的jquery问题,我似乎无法弄清楚如何调试它。
当你将鼠标悬停在它上面时,缩略图应该会滚动。当页面加载或加载硬刷新时,它们不会滚动。
如果我刷新页面(通常不是硬刷新),它可以正常工作。
有什么想法吗?
---------------- UPDATE -------------------
这是一个干净的版本,没有其他代码:
这是我用来制作滚动的JS代码
请参阅下半部分以了解滚动的代码。
$(document).ready(function() {
$('#slideshow').cycle({
fx: 'fade',
next: '#next',
pause: 1,
prev: '#prev',
pause: '#pause',
pager: '.thumbs',
pagerClick:function(zeroBasedSlideIndex, slideElement) {$(slideElement).find('div.cover').hide();},
pagerAnchorBuilder: function(idx, slide) {
var src = $('img',slide).attr('src');
//Change height of thumbnail here
return '<li><a href="#"><img src="' + slide.src + '" width="75" /></a></li>';
// return '<li><a href="#"><img src="' + src + '" height="90" /></a></li>';
}
});
$(function() {
//Pause slideshow on page load
$("#slideshow").cycle('pause');
});
//Get our elements for faster access and set overlay width
var div = $('div.sc_menu'),
ul = $('ul.sc_menu'),
ulPadding = 15;
//Get menu width
var divWidth = div.width();
//Remove scrollbars
div.css({overflow: 'hidden'});
//Find last image container
var lastLi = ul.find('li:last-child');
//When user move mouse over menu
div.mousemove(function(e){
//As images are loaded ul width increases,
//so we recalculate it each time
var ulWidth = lastLi[0].offsetLeft + lastLi.outerWidth() + ulPadding;
var left = (e.pageX - div.offset().left) * (ulWidth-divWidth) / divWidth;
div.scrollLeft(left);
});
});
答案 0 :(得分:1)
我有一个非常类似的问题。
我也尝试将document.ready()更改为window.load(),但没有解决我的问题。
经过大量的R&amp; D后,我发现图像尺寸导致了这个问题。我的要求是400 * 400像素图像,但我使用的是巨大的图像,例如一些图像高于1080p。
当我重新调整图像大小并重新上传图像时......它有效。
答案 1 :(得分:0)
我想这是因为你在图片加载之前使用height()
或类似的位置方法。
但是,如果没有看到源代码,我无法确定。
答案 2 :(得分:0)
也许如果您可以发布代码,那么浏览网页会比您提到的确切包含更容易...
无论如何,我下注你没有附上你的init方法,以确保DOM完全加载:
$(function (){
// Put everything you want to run on page load here, to ensure it's
// only run when the DOM has loaded entirely.
});