2013-01-07 4 views
5

Pasek przewijania jest wyświetlany, gdy użytkownik ustawił "przepełnienie: auto;" a użytkownik może przewijać rzeczy od góry do dołu. Problem polega na tym, w jaki sposób można sprawdzić javascript/jquery, gdy pasek przewijania znajduje się u dołu lub u góry? Aby więc można było sprawdzić taki stan, można użyć dowolnej funkcji/sposobu? DziękiJak sprawdzić, czy pasek przewijania jest już na górze lub na końcu?

Aktualizacja: Nie Robocze- użyciu dialogowego jQuery UI

html:

<div class = "dialog" id="dialog" title="Past Issues"></div> 

javascript:

$('#pastIssues').click(function (event) { 
      var issueString = 'product=Headline&year=2012&month=12'; 
      $('.issues,#issuesBox').remove(); 
      var dWidth = $(window).width() * 0.9; 
      var dHeight = $(window).height() * 0.9; 

      $("#dialog").dialog({ 
        height: dHeight, 
        width: dWidth, 
        modal: true, 
        draggable: false, 
        resizable: false, 
      }); 

      get_past_issues(issueString,2012,12,event.type); 
      return false; 
     }); 
+3

Jeśli '$ (okno) .scrollTop()' jest zero, to w górę, jeśli jest taka sama jak 'document.heigh - okno .height' jest na dole. – adeneo

+0

@adeneo opublikuj jako odpowiedź! – lukasgeiter

+0

Istnieje dodatkowy przecinek po 'resizable: false' ... Czy to był błąd wklejania kopii ...? – Anujith

Odpowiedz

10

HTML:

<div id="mydiv" style="overflow: auto; height: 500px"></div> 

SCENARIUSZ:

$(document).ready(function() 
{ 
    $("#mydiv").scroll(function() 
    { 
     var div = $(this); 
     if (div[0].scrollHeight - div.scrollTop() == div.height()) 
     { 
      alert("Reached the bottom!"); 
     } 
     else if(div.scrollTop() == 0) 
     { 
      alert("Reached the top!"); 
     } 
    }); 
}); 
+0

Niestety nie działa, zobacz zaktualizowane pytanie – user782104

+0

@ user782104: Zobacz to skrzypce: http://jsfiddle.net/QVcpW/1/ – Anujith

5

check

if($(window).scrollTop() == 0 || $(window).scrollTop() == $(document).height()- $(window).height()) { 
    // do something 
} 
Powiązane problemy