2013-01-07 7 views
5

La barra di scorrimento viene visualizzata quando l'utente imposta "overflow: auto;" e l'utente può scorrere le cose dall'alto verso il basso. Il problema è, come può il controllo javascript/jquery quando la barra di scorrimento è in fondo o in alto? In modo cheCome verificare lo stato della barra di scorrimento è già in cima o alla fine?

if (is_scrollbar_top || is_scrollbar_end) 
//do some thing.. 

Quindi ci sono qualche funciton/modo per controllare tale stato? Grazie

Aggiornato: Non lavoratrice utilizzando la finestra di 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

Se '$ (window) .scrollTop()' è pari a zero, è in alto, se è lo stesso del 'document.heigh - Finestra .height' è in fondo. – adeneo

+0

@adeneo pubblica questo come risposta! – lukasgeiter

+0

C'è una virgola extra dopo 'ridimensionabile: falso' ... Era un errore di copia incolla ..? – Anujith

risposta

10

HTML:

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

SCRIPT:

$(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

scusa non funziona, vedere la domanda aggiornata – user782104

+0

@ user782104: vedere questo file: http://jsfiddle.net/QVcpW/1/ – Anujith

5

controllo

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