2012-11-27 18 views
1
$(document).ready(function(){ 
     $(function(){ 
      $(".content").hide(); 
      $('.more-btn').click(function(e){ 
       e.stopPropagation(); // to lower "DOM layers" 
       $(this).closest('section').find('.content').show(500, 'swing'), $('body').css('cursor','help'),$.scrollTo('.content', 800, {offset:-50, easing:'easeInOutBack'}); 
       $(this).hide(); 
      }); 

这是工作的罚款,我的问题是,我可以弄清楚如何 选择具体该内容路径使用jQuery ScrollTo插件我该如何选择具体的jQuery选择即:发现(“元素”)

在此

$.scrollTo('.content', 800, {offset:-50, easing:'easeInOutBack'}); 

$(this).closest('section').find('.content') 

内看来,我不能只用正常的选择字符串在使用scrollTo插件例如

$.scrollTo($(this).closest('section').find('.content'), 800, {offset:-50, easing:'easeInOutBack'}); 

我觉得在插件中使用选择器需要采用不同的写入方式如果我错了,请纠正我的错误?

我应该告诉你我正在尝试滚动到最接近的内容部分,具体取决于按下哪个按钮。

HTML是

<section> 
       <article class="toggle-box" id="toggle1"> 
        <aside class="info-rollover"> 
         <h3>Locavores</h3> 
         <button class="more-btn">Show More</button> 
        </aside> 
       </article> 
       <aside class="content"> 
        <img src="images/loca/1.jpg"/> 
        <img src="images/loca/2.jpg"/> 
        <img src="images/loca/3.jpg"/> 
        <img src="images/loca/4.jpg"/> 
        <img src="images/loca/5.jpg"/> 
        <img src="images/loca/6.jpg"/> 
        <img src="images/loca/7.jpg"/> 
        <img src="images/loca/8.jpg"/> 
        <img src="images/loca/9.jpg"/> 
       </aside> 
     </section> 

回答

1

UPDATE:

你的代码工作正常:

取而代之的是:

$.scrollTo('.content', 800, {offset:-50, easing:'easeInOutBack'}); 

您可以使用此:

$.scrollTo($(this).closest('section').find('.content'), 800, {offset:-50, easing:'easeInOutBack'}); 

请参阅此工作小提琴:http://jsfiddle.net/manishie/eeLms/

按你的意见,我在多个部分已经添加,点击任何按钮滚动到正确的部分。

MKM

+0

嘿感谢,但其实我是想在-50px偏移 –

+0

但随着-50px偏移和当前的例子中,你将看不到屏幕上的任何差异。除此之外,你的代码工作正常。 – manishie

+0

嘿谢谢,但我实际上想要-50px偏移量。问题是该部分的html重复多次。我需要scrollTo来选择相应部分中的aside.content。并用-50px偏移量将其滚动到顶部。 @manishie我可以粘贴更多的代码,但我认为我很清楚显然不是。 –