2013-11-25 72 views
0

我正在使用这个html & jquery我发现另一个问题,它运作良好,有一个例外。DIV稍微偏离屏幕

它显示和隐藏divs,这很好地工作,除非div靠近屏幕的底部,然后显示,但它的一部分是在屏幕外。

是否有更新此代码,所以如果DIV部分在屏幕外页面自动滚动,所以它进入视图?

HTML:

<ul id="list"> 
    <li> 
     <a href="#" class="togglelink">America</a> 
     <div class="toggle" style="display: block;"> 
      <p>America - USA - the States</p> 
     </div> 
    </li> 
    <li> 
     <a href="#" class="togglelink">Brazil</a> 
     <div class="toggle" style="display: block;"> 
      <p>Brazil - Federative Republic of Brazil</p> 
     </div> 
    </li> 
</ul> 

JS:

$(document).ready(function() { 
    $('.toggle').hide(); 
    $('a.togglelink').on('click', function (e) { 
     e.preventDefault(); 
     var elem = $(this).next('.toggle') 
     $('.toggle').not(elem).hide('slow'); 
     elem.toggle('slow'); 
    }); 
}); 

显然,这显示并没有关闭屏幕应该不会受到影响任何其他分区。

千恩万谢:-D

回答

1

你可以确定一个div容器通过其y值和高度的位置。因此,您可以确定何时不在屏幕上。然后,你可能要添加视差滚动http://wedesignpixel.com/best-jquery-parallax-scrolling-tutorials/

+0

可以这样无需额外的jQuery插件来完成调整div的位置? – MacMan

+0

它可能不漂亮,但它当然可以工作。 jquery使用平台的Javascript底层。你可以检查一下:http://stackoverflow.com/questions/13238099/viewport-size-and-rolling – Schnodderbalken

1

用css,你可以根据你的要求,使其这么想的影响你的其他分区的