11550 sujets

JavaScript, DOM et API Web HTML5

Bonjour !
Encore une énième demande pour protéger un texte, pensez-vous ? Que nenni. Je n'oserais pas Smiley biggrin

Non, ma demande est différente. Le site sur lequel je travaille a une navigation toute en longueur, basée sur une version légèrement modifiée du script jScrollTouch (essayez, c'est rigolo).

Le code de base est celui-ci :

<ul class="scroll">
    <li><a href="monurl"><img src="monimage.png" /></a></li>
    <li><a href="monurl"><img src="monimage.png" /></a></li>
    <li><a href="monurl"><img src="monimage.png" /></a></li>
    <li><a href="monurl"><img src="monimage.png" /></a></li>
</ul>


Cette liste est mise en horizontal avec des position:absolute (le float:left ne convenait pas).
J'appelle l'effet de scroll via
jQuery(".scroll").jScrollTouch()
.

Ça, ça marche très bien.

Parce que ce ne sont que des images.

Mais dès que mes <li> contiennent des <div> pleines de texte, et que je veux faire défiler les <li> comme dans l'exemple précédent (et non le texte à l'intérieur), eh bien ça devient instable, et le texte se sélectionne parfois, empêchant par là la navigation.

J'ai mis des

if (e.preventDefault) {
    e.preventDefault(); // I'm on a fox
}
else {
    e.returnValue = false; // pour IE                               
    return false;                                
}    

partout où je pouvais (dans le js du plugin lui-même), et quand ça n'empêche pas purement et simplement le "scroll", ça ne fait rien.

Quelqu'un aurait une idée ? Merci d'avance Smiley ravi

Je ne peux malheureusement pas vous montrer le code en ligne, car c'est en local (et le site live est fermé aux non-inscrits...).
Modifié par AkaiKen (06 Oct 2010 - 11:52)
Hello,

je n'ai pas solution a ton problème, mais ce script me paraît assez bugué d'autre part il est trop éloigné du comportement habituel du navigateur. A mon avis, il vaut mieux laisser tomber ce genre de choses.
Tu le trouves buggé ? Peux-tu m'en dire plus ?

En fait, je cherche à reproduire un scroll/slide de type navigateur tactile : comme sur un iPad (tudieu, que j'ai horreur de devoir prendre ce truc comme repère, mais c'est le cas).
Merci de ta réponse, Julien. Je pense que je me pencherai sur le code que tu proposes plus tard, là, j'ai déjà tout fait avec le premier script.
J'ai mis en place une solution de contournement (toute moche Smiley bawling ) avec une image transparente par-dessus le texte... Ce texte n'a de toute façon pas pour finalité d'être copié et collé à côté, je développe pour des tablettes tactiles.
Je viens pas aider dans le sujet mais je fais une remarque: jScrollTouch ne marche pas avec mon Zune HD, et donc par conséquent il risque de ne pas fonctionner également avec les Windows Phones 7.
Cristallix a écrit :
Je viens pas aider dans le sujet mais je fais une remarque: jScrollTouch ne marche pas avec mon Zune HD, et donc par conséquent il risque de ne pas fonctionner également avec les Windows Phones 7.


Il pourrait être très simple de le rendre compatible : il ne marchait pas sous Webkit (Android) [super pratique ces navigateurs qui portent des noms de moteurs de rendu Smiley ohwell ] et il m'a suffi d'ajouter

|| (navigator.userAgent.match(/webkit/i))
après

if((navigator.userAgent.match(/iPhone/i)) || (navigator.userAgent.match(/iPod/i)) || (navigator.userAgent.match(/iPad/i))


et hop Smiley lol

Mais merci de l'avoir signalé !