Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1821 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  Memoriser la position d'une barre de defilement ?

 


 Mot :   Pseudo :  
 
 Page :   1  2
Page Précédente
Auteur Sujet :

Memoriser la position d'une barre de defilement ?

n°1207566
korxx
Posté le 26-09-2005 à 14:00:29  profilanswer
 

Bonjour, j'ai un petit probleme sur mon site (en construction : http://stephane-l.club.fr/korxx22 )
 
lorsque l'on parcourt les images a gauche et que l'on fait defiler vers le bas et que l'on clique sur une photo, on recharge la page ce qui a pour effet de reinitialiser la barre de defilement...
Ce qui est plutot genant car on ne sais pas ou on en etait etc...
 
J'ai pensé a mettre en variable la position de la barre de defilement mais je ne sais pas si c'est possible...
 
Sinon si vous avez d'autres idées je suis preneur ;)


Message édité par korxx le 27-09-2005 à 11:01:18
mood
Publicité
Posté le 26-09-2005 à 14:00:29  profilanswer
 

n°1207579
boulax
Inserer phrase hype en anglais
Posté le 26-09-2005 à 14:07:41  profilanswer
 

ne pas recharger la page [:spamafote]
 
Tu peux faire ça avec du javascript qui réagit au click sur la miniature et charge l'image dynamiquement.


---------------
Posté depuis des chiottes, sales. Me gusta.
n°1207587
FlorentG
Posté le 26-09-2005 à 14:15:28  profilanswer
 

Moi ce que j'ai fait dans mon supaÿr système, c'est mettre un id sur chaque image, genre :

<a href="galerie.php?image=pouet"><img src="pouet.jpg" alt="Un joli pouet id="pouet"></a>


Et pis dans la page où j'affiche l'image, y'a un lien retour de la forme :

<a href="liste.php#pouet">Retour</a>


Du coup ça revient en arrière, et grâce au combot id + #pouet, ça scroll tout seul à l'image...
 
Maintenant faudrait adapter ça à ton site...

n°1207621
boulax
Inserer phrase hype en anglais
Posté le 26-09-2005 à 14:44:28  profilanswer
 

Moi je te propose de mettre une fonction comme ça dans ton entete de page:
 


<script type="text/javascript">
function loadImage(url)
{
   document.getElementById('cadrecentre').src=url;
}
</script>


 
de mettre l'id sur ton image taille reelle
 


<img src="premiere_image.jpg" alt="taille réelle" id="cadrecentre" />


 
et de faire des liens comme ça sur tes miniatures
 


<a onclick="loadImage('image1.jpg" )"><img alt="thumb1" src="image1th.jpg" /></a>


---------------
Posté depuis des chiottes, sales. Me gusta.
n°1207657
FlorentG
Posté le 26-09-2005 à 15:10:52  profilanswer
 

Moi je propose ça :
 
Tu met un id sur chaque image, et tu rajoute le fragment identifier qui va bien dans l'url :
 

<a href="http://stephane-l.club.fr/korxx/index.php?imglg=0204.jpg#0204"><img id="0204" src="/thumbs/0204.jpg" alt="pouet" /></a>


Et le tour est joué.
 
Boulaxx, ta solution est pas accessible :o

n°1207660
esox_ch
Posté le 26-09-2005 à 15:12:56  profilanswer
 

FlorentG a écrit :

Moi ce que j'ai fait dans mon supaÿr système, c'est mettre un id sur chaque image, genre :

Citation :

<a href="galerie.php?image=pouet"><img src="pouet.jpg" alt="Un joli pouet" id="pouet"></a>


Et pis dans la page où j'affiche l'image, y'a un lien retour de la forme :

<a href="liste.php#pouet">Retour</a>


Du coup ça revient en arrière, et grâce au combot id + #pouet, ça scroll tout seul à l'image...
 
Maintenant faudrait adapter ça à ton site...


 
Ca se fait pas de donner des codes buggés   [:adodonicoco]

Message cité 1 fois
Message édité par esox_ch le 26-09-2005 à 15:13:53

---------------
Si la vérité est découverte par quelqu'un d'autre,elle perd toujours un peu d'attrait
n°1207664
boulax
Inserer phrase hype en anglais
Posté le 26-09-2005 à 15:15:29  profilanswer
 

FlorentG a écrit :

Boulaxx, ta solution est pas accessible :o


Boulet :o


---------------
Posté depuis des chiottes, sales. Me gusta.
n°1207669
FlorentG
Posté le 26-09-2005 à 15:19:45  profilanswer
 

esox_ch a écrit :

Ca se fait pas de donner des codes buggés   [:adodonicoco]


Ca marche très bien :o Regarde sur cette page. Prend une image, clique, et fait "Retour" [:dawa]
 


Boulax :o

n°1207672
shakpana
des fois, j'me demande ...
Posté le 26-09-2005 à 15:21:47  profilanswer
 

FlorentG a écrit :

Ca marche très bien :o [:dawa]


le prend pas mal, il te manquait un tout petit, minuscule, ridicule guillemet ;)

n°1207684
FlorentG
Posté le 26-09-2005 à 15:28:41  profilanswer
 

Ah :D Fatigue, Lundi matin, sortie de table toussa

mood
Publicité
Posté le 26-09-2005 à 15:28:41  profilanswer
 

n°1207738
korxx
Posté le 26-09-2005 à 16:07:28  profilanswer
 

Merci beaucoup pour toutes vos réponses, par contre je comprends pas trop j'ai un unexpected T_STRING, je vois pas d'ou ca vient...
 
 

Code :
  1. <a href="index.php?imglg=$fichier"><img border=0 src=/"$tmp/" alt="un joli pouet" id="pouet"></a>

n°1207762
FlorentG
Posté le 26-09-2005 à 16:23:23  profilanswer
 

Oula oula
 

echo '<a href="index.php?imglg=', $fichier, '"><img border="0" src="', $tmp, '" alt="un joli pouet" id="', $id, '"></a>';

n°1207797
boulax
Inserer phrase hype en anglais
Posté le 26-09-2005 à 16:47:27  profilanswer
 

Je crois que l'accessibilité, à ce niveau là, on s'en tamponne un peu les steacks [:kiki]

n°1207924
korxx
Posté le 26-09-2005 à 18:31:04  profilanswer
 

FlorentG a écrit :

Oula oula
 

echo '<a href="index.php?imglg=', $fichier, '"><img border="0" src="', $tmp, '" alt="un joli pouet" id="', $id, '"></a>';



 
 
Donc a chaque fois que j'utilise une variable je la met entre virgules et guillemet simple c'est ca ?
Je ne savais pas, merci pour cette précision, je vais corrigé tout mon code en intégrant cela :)
par contre ils sont necessaires les espaces que tu as mis ?


Message édité par korxx le 26-09-2005 à 18:33:15
n°1207932
FlorentG
Posté le 26-09-2005 à 18:37:39  profilanswer
 

C'est juste la syntaxe la plus optimisée pour afficher un truc direct :)
 
Pour les espace, c'est question de typo + lisibilité

n°1207951
korxx
Posté le 26-09-2005 à 18:58:05  profilanswer
 

FlorentG a écrit :

C'est juste la syntaxe la plus optimisée pour afficher un truc direct :)
 
Pour les espace, c'est question de typo + lisibilité


 
Ok ben merci d'avoir partager ca avec moi ;)
tant qu'a faire autant avoir un code correct  :jap:  
 
 
En tout cas meme avec ta syntaxe j'ai la meme erreur, je m'y pencherai plus tard parce que la je vois pas du tout :(


Message édité par korxx le 26-09-2005 à 18:58:40
n°1207960
korxx
Posté le 26-09-2005 à 19:15:57  profilanswer
 

C'est le php qui avait du mal a prendre le " en compte il a fallu que je rajoute des \ avant chaque "
Now ca marche :)
 
 
merci bcp FlorentG :) (par contre ta syntaxe entre virgule marchait pas)

n°1207963
FlorentG
Posté le 26-09-2005 à 19:27:50  profilanswer
 

Si elle marche, t'as dû foirer un truc :(

n°1207992
korxx
Posté le 26-09-2005 à 20:21:17  profilanswer
 

FlorentG a écrit :

Si elle marche, t'as dû foirer un truc :(


 
 
C'est dans du php c'est peut etre pour ca ?
 
Sinon comme ca ca marche :
 

Code :
  1. <a href=\"index.php?imglg=$fichier#$id\"><img border=\"0\" src=\"$tmp\" alt=\"un joli pouet\" id=\"$id\"></a>


 
 
et comme ca ca marche pas :  
 

Code :
  1. <a href=\"index.php?imglg=',$fichier,'#$id\"><img border=\"0\" src=\"',$tmp,'\" alt=\"un joli pouet\" id=\"',$id,'\"></a>


 
 
avec le code qui marche pas les liens deviennent comme ca :
 
http://stephane-l.club.fr/korxx/in [...] jpg,'#0463
 
 
 
Sinon j'ai fait comme tu me la conseillé pour mettre un id sur chaque image et ca fonctionne :)
C'est deja mieux, on s'y perds moins a chaque fois que ca charge  :jap:


Message édité par korxx le 26-09-2005 à 20:23:53
n°1207997
shakpana
des fois, j'me demande ...
Posté le 26-09-2005 à 20:30:51  profilanswer
 

à mon avis tu as dû mélanger deux trucs ...
voilà 3 équivalents

Code :
  1. $variable = 'variable';
  2. // un
  3. echo 'text ', $variable, ' text "guillemets" text';
  4. // deux
  5. echo "text $variable \\"guillemets\\" text";
  6. // trois
  7. $string = 'text '.$variable.' "guillemets" text';
  8. echo $string;


Note : les virgules ne sont utilisables qu'avec echo ...

Message cité 1 fois
Message édité par shakpana le 26-09-2005 à 20:31:10
n°1207999
korxx
Posté le 26-09-2005 à 20:41:22  profilanswer
 

shakpana a écrit :

à mon avis tu as dû mélanger deux trucs ...
voilà 3 équivalents

Code :
  1. $variable = 'variable';
  2. // un
  3. echo 'text ', $variable, ' text "guillemets" text';
  4. // deux
  5. echo "text $variable \\"guillemets\\" text";
  6. // trois
  7. $string = 'text '.$variable.' "guillemets" text';
  8. echo $string;


Note : les virgules ne sont utilisables qu'avec echo ...


 
ok, je n'avais effectivement pas utilisé echo pour le presenter, je fais confiance à FlorentG quand au fait qu'il vaut mieux d'un point de vu accessibilité le présenter ainsi.  
 
Merci à toi  :jap:  
 
Et désolé de vous faire corriger mon code, j'apprends, et vu qu'il y a plusieurs facon de faire, on tombe pas forcement sur la mieux du premier coup :)
 
Sinon j'ai lu que l'erreur que j'avais était du a un mauvais traitement des guillemets par php et que dans ce cas on pouvait mettre \" a la place, ce que j'ai fait et ca marche, mais encore une fois j'ignore si c'est la meilleure methode ;)

n°1208002
shakpana
des fois, j'me demande ...
Posté le 26-09-2005 à 20:55:49  profilanswer
 

>  j'ignore si c'est la meilleure methode
boharf, c'est un débat de "Bests practises" car en fait que tu fasses
"\"\"" ou '""' ou '"'."\"" ça revient au final au même, mais c'est plus ou moins bien lisible, certains n'aiment pas les "texte et $var" car ils prétendent que c'est difficile à débugger, noyage des variables dans le texte, généralement les éditeurs à coloration de syntaxe n'afficheront pas la $var en couleur, donc plus difficile à lire ...
moralité : fait comme bon te semble et comme il est pratique de faire pour toi enfin en connaissance de cause quand même ...
mais une qd une bonne habitude est prise ... après tu peux diffuser un code, que chacun sera heureux de lire ;)


Message édité par shakpana le 26-09-2005 à 20:57:50
n°1208133
FlorentG
Posté le 26-09-2005 à 22:29:53  profilanswer
 

Ma version est plus optimisée : pas de recherche de variables dans les chaînes de caractère, et utilisation de la virgule, afin d'éviter une concaténation de chaînes inutile :)

n°1208162
shakpana
des fois, j'me demande ...
Posté le 26-09-2005 à 22:58:51  profilanswer
 

> Ma version est plus optimisée
ce n'était pas vraiment mon propos, ya pas de différence de perf. entre "\"" et '"' mais entre "test $var" et "test ".$var, oui, la dif. est significative (enfin à grande échelle)
 
> et utilisation de la virgule
mais comme en fait il n'y avait pas de echo, la virgule :D


Message édité par shakpana le 26-09-2005 à 23:00:14
n°1208262
Djebel1
Nul professionnel
Posté le 27-09-2005 à 05:44:19  profilanswer
 

FlorentG a écrit :

Ma version est plus optimisée : pas de recherche de variables dans les chaînes de caractère, et utilisation de la virgule, afin d'éviter une concaténation de chaînes inutile :)


Cool une question que je me suis souvent posée tiens, merci de cette info :)
 
mais ce que je comprends pas :

Code :
  1. echo '<a href="index.php?imglg=', $fichier, '"><img border="0" src="', $tmp, '" alt="un joli pouet" id="', $id, '"></a>';


la il va rechercher des variables dans toute la partie  : "index.php?imglg=', $fichier, '" pour le début.
Ne serait-ce pas mieux :

Code :
  1. echo '<a href=\'index.php?imglg=\' '.$fichier.'\' >'


Comme ca php ne fait aucune recherche de variable (euh nerf le post me vire mes antislash, mais tu vois où je veux les mettre quoi, dans le but de pas utiliser de guillemets doubles " )
 
La concaténation est moins optimisée que la recherche de variable ?


Message édité par Djebel1 le 27-09-2005 à 05:46:23
n°1208263
Djebel1
Nul professionnel
Posté le 27-09-2005 à 05:45:36  profilanswer
 

arf gourré entre répondre et éditer :x


Message édité par Djebel1 le 27-09-2005 à 05:46:06
n°1208289
FlorentG
Posté le 27-09-2005 à 08:18:10  profilanswer
 

Nan pas de point.
 
Quand tu fais ça :

echo 'a', 'b', $truc, 'c', $machin;


C'est équivalent à ça :

echo 'a';
echo 'b';
echo $truc;
echo 'c';
echo $machin;


Donc t'affiche tout à la suite comme ça, sans te poser de question, et avec une syntaxe légère (pas besoin d'un echo par ligne, suffit de séparer les truc par des virgules).
 
Par contre avec les points :

echo 'a' . 'b' . $truc . 'c' . $machin;


Là c'est équivalent à :

$tmp = 'a' . 'b' . $truc . 'c' . $machin;
echo $tmp;


Donc là, y'a une concaténation de chaîne. On fout chaque élément à la suite des autres, qu'on met dans une variable, qui va être affichée... Question : à quoi ça sert de se taper une concaténation, si c'est pour afficher le truc tout bêtement ? Si en plus t'as des chaînes énormes à afficher, et que t'es chaud niveau mémoire, vaut mieux afficher direct que faire une concaténation intermédiaire...
 
Pour l'HTML enfin, ça permet d'utiliser des double-quotes sans avoir à faire un escape :

echo '<pouet truc="machin">', $pouet, '</pouet>';


(note qu'on utilise plutot les " pour les attributs, un peu moins souvent les ', même si c'est pas obligatoire)

Message cité 1 fois
Message édité par FlorentG le 27-09-2005 à 08:18:47
n°1208414
shakpana
des fois, j'me demande ...
Posté le 27-09-2005 à 11:34:10  profilanswer
 

Voilà un ptit bench, sur un vieux 700Mhz, soyez indulgent :)

Code :
  1. // rien faire 100 000 fois
  2. => 0.122436
  3. // affecter 2 chars à une variable 100 000 fois
  4. $str = 'ab';
  5. => 0.218546
  6. // rajouter 2 chars à une variable 100 000 fois
  7. $str .= 'ab';
  8. => 0.233232
  9. // rajouter 1 char et une var de 1 char à une var 100 000 fois
  10. $str .= 'a'.$b;
  11. => 0.333514
  12. // rajouter 1 char et une var de 1 char entre guillemet à une var 100 000 fois
  13. $str .= "a$b";
  14. => 0.414977


je crois que la solution de la ligne 2 est encore la mieux :D

n°1208496
omega2
Posté le 27-09-2005 à 13:25:31  profilanswer
 

Fait le test plusieurs fois, aprés, tu pouras voir. Par ce que là, il suffit qu'un autre programme ai bossé au milieu du test pour fausser le temps.

n°1208500
esox_ch
Posté le 27-09-2005 à 13:26:40  profilanswer
 

Faut les faire quand ton ordio est en mode sans echecs je dis .. Ou mieux sous un unix ou presque tout les demons sont arretés


---------------
Si la vérité est découverte par quelqu'un d'autre,elle perd toujours un peu d'attrait
n°1208525
shakpana
des fois, j'me demande ...
Posté le 27-09-2005 à 13:55:30  profilanswer
 

?!  :heink:  
c'est déjà ce qu'on appelle des moyennes sur une 10aine de bench, sur une bécane dédiée ...
 
edit: ha oui et j'avais fermé les fenêtres pour éviter les courants d'air :D


Message édité par shakpana le 27-09-2005 à 14:00:01
n°1208543
FlorentG
Posté le 27-09-2005 à 14:16:00  profilanswer
 

Les benchs ont l'air juste :jap: c'est ce qu'on observe d'habitude...

n°1208556
shakpana
des fois, j'me demande ...
Posté le 27-09-2005 à 14:21:45  profilanswer
 

me serait bien lancé dans le portage du bench sur d'autres bécanes, dans des calculs d'ecart moyen et yadayada, mais c'est moi qui vait perdre des cycles de processeur  :)  

n°1208584
mechkurt
Posté le 27-09-2005 à 14:31:56  profilanswer
 

et entre ca:

Code :
  1. echo '<pouet truc="machin">', $pouet, '</pouet>';


en ca:

Code :
  1. <pouet truc="machin"><?php echo $pouet ?></pouet>


y'a une grosse différence ?


---------------
D3
n°1208585
FlorentG
Posté le 27-09-2005 à 14:32:36  profilanswer
 

Le deuxième est plus rapide :jap:

n°1208588
esox_ch
Posté le 27-09-2005 à 14:34:32  profilanswer
 

Code :
  1. <pouet truc="machin"><?=$pouet;?></pouet>


 :jap:


Message édité par esox_ch le 27-09-2005 à 14:34:52

---------------
Si la vérité est découverte par quelqu'un d'autre,elle perd toujours un peu d'attrait
n°1208591
FlorentG
Posté le 27-09-2005 à 14:35:53  profilanswer
 

Ce dernier ne fonctionne pas partout ;) Vaut mieux utiliser tout le temps <?php ?> pour être portable à 100%

n°1208599
esox_ch
Posté le 27-09-2005 à 14:38:52  profilanswer
 

A oui , pour les tag abbrégés ... donc

Code :
  1. <pouet truc="machin"><?php=$pouet;php?></pouet>


:jap:


---------------
Si la vérité est découverte par quelqu'un d'autre,elle perd toujours un peu d'attrait
n°1208602
FlorentG
Posté le 27-09-2005 à 14:40:22  profilanswer
 

Nan, ça marche pas ça :D Faut mettre un echo obligatoirement...

n°1208633
esox_ch
Posté le 27-09-2005 à 14:51:42  profilanswer
 

Roh font chier a la fin :p Bon si c'est comme ca je vais manger un ptit pot et je vais bouder dans mon coin


---------------
Si la vérité est découverte par quelqu'un d'autre,elle perd toujours un peu d'attrait
mood
Publicité
Posté le   profilanswer
 

 Page :   1  2
Page Précédente

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  Memoriser la position d'une barre de defilement ?

 

Sujets relatifs
Mémoriser la valeur d'un lien hypertextposition de layer quand fentre agrandie
position tableau °/ au fond avec cssBarre de défilement verticale
[flash] texte fixe avec barre de défilementmasquer la barre de lecture
CSS prob position:absolutePb position calques/texte entre IE et FF (dream)
Plus de sujets relatifs à : Memoriser la position d'une barre de defilement ?


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR