同时滚动多个元素

时间:2014-09-18 12:32:20

标签: javascript jquery html css

我在一堵砖墙上。我有一个小项目:

(LINK已被删除)

您可以看到许多水平滚动,当您将浏览器调到移动宽度时,您可以水平滚动。我的问题是,我如何得到它,以便如果你水平滚动一个项目,所有其他项目也将遵循?我尝试过以下方法:

$('.container').scroll(function(){
    $('.container').scrollLeft($(this).scrollLeft());    
})

但我无法快速前进。任何帮助将不胜感激。

更新

事实证明,在页面加载后将代码放入控制台时它确实有效。 我求助于:

$(document).on('scroll', '.container', function(){
    $('.container').scrollLeft($(this).scrollLeft());    
});

UPDATE2

非常感谢@George和所有回答我指向正确方向的人。这些表加载了jQuery:

$(this).next().load("/availability_Dev/availability_Dev.asp?stuff="+stuff+"");

我需要做的就是在加载元素后附加我的滚动代码,如下所示:

$(this).next().load("/availability_Dev/availability_Dev.asp?stuff="+stuff+"", function(){
     $('.container').scroll(function(){
         $('.container').scrollLeft($(this).scrollLeft());    
     });
});

2 个答案:

答案 0 :(得分:2)

你告诉它在页面加载后从控制台工作。所以,试试吧。

$(document).ready(function(){
  $(document).on('scroll', '.container', function(){
    $('.container').scrollLeft($(this).scrollLeft());    
  });
});

或使用以下代码:

$(document).ready(function(){
  $('.container').scroll(function(){
    $('.container').scrollLeft($(this).scrollLeft());    
  });
});

希望这有帮助。

答案 1 :(得分:0)

请试试这个

$('.container').scroll(function(){
  var scrolled = $(this);
  $('.container').each(function() {
    $(this).scrollLeft(scrolled.scrollLeft());    
  })
})

希望它有所帮助。