2010-05-22 5 views
4

Je suis nouveau (seulement deux semaines) à jQuery, alors s'il vous plaît ours avec moi. Je sais qu'une question très similaire a été posée il y a quelque temps, mais je ne sais pas comment adapter la réponse à mon problème. J'ai une très grande mise en page multicolumn qui est quelque chose comme ceci:jQuery trouver premier élément visible après le défilement horizontal

| aaaa | bbbb | cccc | … | 
| aaaa | b | cc | … | 
| aaa | cccc | ddd | … | 

Le code ressemble à:

<div id="container"> 
    <p>aaaaaaaaaaa</p> 
    <p>bbbbb</p> 
    <p>ccccccccccc</p> 
    <p>dddddddddd</p> 
    ... 
    <p>xxxxxx</p> 
</div> 

Il n'y a pas de défilement vertical et la largeur du conteneur est réglé de telle sorte que seuls deux les colonnes sont montrées. L'utilisateur fait défiler vers la gauche ou la droite pour voir le texte pertinent. Ce que je veux, c'est obtenir la position actuellement affichée, la stocker (peut-être dans un cookie) et la récupérer la prochaine fois que l'utilisateur ouvre la page.

Je pense que j'ai besoin d'un moyen de trouver quel paragraphe est actuellement le plus en haut à gauche, mais d'autres suggestions sont les bienvenues.

Des idées?

BTW: ceci est un projet interne, de sorte que Mozilla ne :-)

+0

Navigateur, Camino, Minimo ou Firefox? –

Répondre

1

Suggestion: Pourquoi détecter le paragraphe départ puisque l'utilisateur peut faire défiler entre les paragraphes. Ici, l'utilisateur voit trois paragraphes (1 complet, 2 partiel) car le défilement est continu et non discret avec les paragraphes. À moins que le défilement manuel est désactivé et l'utilisateur ne peut aller à gauche ou à droite entre les paragraphes avec des contrôles personnalisés tels que:

<>

alors vous pouvez simplement enregistrer l'état de défilement gauche et restaurer que lorsque la page est rouverte Vous pouvez également utiliser la nouvelle API localStorage au lieu de cookies pour enregistrer des données sur plusieurs sessions en local.

Essayez cet exemple sur jsfiddle. Faites défiler et actualisez ou fermez et rouvrez la page. Que voulez-vous dire par Mozilla?

+0

Oui, le défilement manuel est désactivé et l'utilisateur ne peut que faire défiler-sauter entre les paragraphes. L'idée de stocker l'état de défilement est tentante mais qu'en est-il du redimensionnement du client? Sauf s'il y avait un moyen sûr de forcer le client à maximiser (pas le mode plein écran, attention à vous) et le garder ainsi pour toute la session? En ce qui concerne l'API localStorage, où puis-je vous acheter une bière? –

+0

LocalStorage n'est pas génial :) Le redimensionnement de la fenêtre peut être un problème avec cette solution. – Anurag

Questions connexes