2012-04-25 4 views
5

J'ai trouvé celui-ci:Fonction jQuery pour obtenir la fenêtre actuelle?

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) 
    }; 
}; 

Mais est-jQuery une fonction intégrée pour cela?

+2

Non, vous n'avez pas une API découpée pour cela, mais vous pouvez réécrire ce que vous avez dans jQuery .. mais si ce que vous avez fonctionne bien, alors pourquoi chercher un Solution basée sur jQuery. Je suis sûr que ce sera beaucoup plus rapide que ce que jQuery va vous offrir. –

Répondre

10

Bien qu'il n'y ait pas une seule fonction intégrée, la fonction elle-même peut être simplifiée avec des fonctions jQuery:

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

testé ici: http://jsfiddle.net/naLLa/

Vous pouvez également trouver ce plug-in de intérêt, qui ajoute des sélecteurs basés sur viewport: http://www.appelsiini.net/projects/viewport

Questions connexes