2012-04-25 16 views
5

ho trovato questo:Funzione jQuery per ottenere la vista corrente?

getViewport = function() { 
    var m = document.compatMode == 'CSS1Compat'; 
    return { 
    l : window.pageXOffset || (m ? document.documentElement.scrollLeft : document.body.scrollLeft), 
    t : window.pageYOffset || (m ? document.documentElement.scrollTop : document.body.scrollTop), 
    w : window.innerWidth || (m ? document.documentElement.clientWidth : document.body.clientWidth), 
    h : window.innerHeight || (m ? document.documentElement.clientHeight : document.body.clientHeight) 
    }; 
}; 

Ma questo jQuery avere una costruito in funzione di questo?

+2

No, non hai un'API tagliata per questo, ma puoi riscrivere quello che hai in jQuery .. ma Se quello che hai funziona bene allora perché cercare un soluzione basata su jQuery. Sono sicuro che questo sarà molto più veloce di quello che jQuery ti offrirà. –

risposta

10

Anche se non c'è una singola funzione built-in, la funzione stessa può essere semplificata con funzioni di jQuery:

getViewport = function() { 
    var $w = $(window); 
    return { 
     l: $w.scrollLeft(), 
     t: $w.scrollTop(), 
     w: $w.width(), 
     h: $w.height() 
    } 
} 

testato qui: http://jsfiddle.net/naLLa/

È inoltre possibile trovare questo plug-in di interesse, che aggiunge selettori basati su viewport: http://www.appelsiini.net/projects/viewport

Problemi correlati