0

大家好,这里是网站见下文

我有一个轻微的 jquery 问题,我似乎无法弄清楚如何调试它。

当您将鼠标悬停在缩略图条上时,它应该会滚动。当页面加载或在硬刷新时加载时,它们不会滚动。

如果我刷新页面(通常不是硬刷新),它工作正常。

有任何想法吗?

- - - - - - - - 更新 - - - - - - - - - -

这是一个干净的版本,没有其他代码:

链接在这里

这是我用来制作滚动条的 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);
 });
});
4

3 回答 3

1

我有一个非常相似的问题。

我也尝试将 document.ready() 更改为 window.load() 但没有解决我的问题。

经过大量的研发后,我发现图像尺寸导致了这个问题。我的要求是 400 * 400 像素的图像,但我使用的是巨大的图像,例如一些图像高于 1080p。

当我重新调整图像大小并重新上传这些图像时……它起作用了。

于 2016-05-13T07:01:38.227 回答
0

我猜这是因为您height()在图像加载之前使用或类似的位置方法。

但是,如果没有看到源代码,我无法确定。

于 2009-10-28T16:46:58.580 回答
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.
});
于 2009-10-28T16:47:03.357 回答