Je voulais savoir si il existait un moyen pour personnaliser les barres de défilement où si on pouvait recréer des boutons de défilement en Javascript.
<div id="news">
<div class="news_scrollup">
<img src="http://arceusnoobpower.ahst.fr/img/scroll/scrollup.png" alt="Up" onclick="javascript:scrollup()" />
</div>
<div id="news_body" style="top: 0px;">
<div class="news_titre">
News Test HTML
</div>
<div class="news_contenu">
Ceci est la première news de test, donc on met du contenu :<br />
Bla bal lab lba bla bal lab lba bla bal lab lba bla bal lab lba
bla bal lab lba bla bal lab lba bla bal lab lba bla bal lab lba
bla bal lab lba bla bal lab lba bla bal lab lba bla bal lab lba
Bla bal lab lba bla bal lab lba bla bal lab lba bla bal lab lba
bla bal lab lba bla bal lab lba bla bal lab lba bla bal lab lba
bla bal lab lba bla bal lab lba bla bal lab lba bla bal lab lba
Bla bal lab lba bla bal lab lba bla bal lab lba bla bal lab lba
bla bal lab lba bla bal lab lba bla bal lab lba bla bal lab lba
bla bal lab lba bla bal lab lba bla bal lab lba bla bal lab lba
</div>
<div class="news_infos">
Fait le XX/XX/XXXX à XX:XX.
</div>
</div>
<div class="news_scrolldown">
<img src="http://arceusnoobpower.ahst.fr/img/scroll/scrolldown.png" alt="Down" style="position:relative;top:5px;" onclick="javascript:scrolldown()" />
</div>
</div>
Le système de défilement est en Javascript. C'est un système simple.
Coté HTML, on a un grande div qui contient trois div. La première de ces trois div est en haut et prend toute la largeur, sans marge, et contient une image de flèche qui va vers le haut. La dernière des trois div idem que la précédente sauf qu'elle est en bas et a et flèche qui va vers le bas.
La deuxième div est est celle qui a le contenu. Elle la aucune marge et est en position "relative", et on lui met comme attribut style="top:0px".
Côté CSS, on va personnaliser les div. Le plus important est de jouer sûr les z-index des trois div afin de mettre la première et la troisième au dessus de la deuxième. Et la grande div a pour overflow=hidden.
Côté Javascript, on a une variable "var scroll_level" pour l'instant égale a zéro. Puis on a deux fonctions.
La première est pour la flèche du haut est enlève par exemple 10 a la variable puis modifie l'attribut style de la deuxième div qui va donc monter.
La deuxième fonction consiste en l'inverse.
J'espère avoir été clair.
LE SUJET N'EST PAS ENCORE RÉSOLU. EN EFFET, IL Y A UN PETIT BUG ...
Comment faire pour "sécuriser" la variable afin d'éviter que le contenu se retrouve trop en haut ou trop en bas ?
J'ai réussi dans un sens pour éviter qu'il monte trop, mais pour l'autre ...
Oui, je compte faire deux boutons supplémentaires : un pour monter/descendre deux fois plus vite, un pour aller à la news suivante/précédente.
Mais pour l'instant, il faut que je trouve une fonction ou une manière qui permet de savoir ou calculer la hauteur d'une div. Si quelqu'un en connais une, ça serait sympa.
Pas terrible? C'est ce qu'il y a de plus simple et de plus pratique. Tu cliques sur la barre, tu descends et ça descend, c'est tout.
Mais là toi tu commences à me parler d'intégration au design, mais ça n'a rien à voir. Je me suis plaint du fait que le système était chiant à utiliser, mais niveau desing c'est sûr que tu peux avoir quelque chose de pas si mal.
Mais je te le dis, le design c'est amusant un moment, mais si c'est chiant de juste lire les news, les visiteurs vont se lasser tràs rapidement même si t'as un design de la mort qui tue, ce qui est loin d'être le cas de toutes façons.
Oui, parce que pour l'instant il ne fait que bouger de 10px.
Je bosse actuellement pour un système de news suivante/précédente et je referais le design afin qu'il saute les lignes textes. Comme ça se sera optimal.
Ah oui comme sur la plupart des sites d'actualité. Ça c'est pas mal, mais t'as pas besoin de modifier la barre de défilement pour ça. Ou alors je comprends pas.
function defile(valDefilement, DOMObject)
{
var defile = DOMObject;
if(typeof defile.scrollLeft != "undefined")
defile.scrollLeft -= valDefilement;
else
alert("Code d'erreur: 1\nErreur: Défilement des onglets non supporté.\nVotre fureteur ne supporte pas cette fonction.\nContactez l'administrateur du site pour l'informer de ce problème.");
}
si tu veux tu peux remplacer dom object pad un id et ensuite tu fait getElementById (ou gEBI pour les intimes)
Le problème c'est que normalement on doit pouvoir naviguer sur un site internet sans avoir besoin de javascript en d'autre mot, le javascript est un ajout et non un nécessité. Donc si on dois absolument avoir recours à ton système, alors il faudrait que tu propose une alternative.
@Marc15 -> Bah en fait j'ai l'impression que ... tu ne comprends pas. Je peux pas te refaire un dessin, mais en gros, je compte faire en Javascript une barre de défilement parce que le overflow:auto; me donne deux grosses barres bien moches alors que je n'en ai besoin que d'une belle.
@Davilink -> ... je ne comprends pas ton code. Et tu dois confondre, je fais bien un système de scroll, pas d'onglets (cf le alert("Code d'erreur: 1\nErreur: Défilement des onglets non supporté.\nVotre fureteur ne supporte pas cette fonction.\nContactez l'administrateur du site pour l'informer de ce problème.");.
Alors pour l'instant, je refais le système entièrement parce que c'est bordélique (ya pas d'autres mots).
Et alors oui, il y aura une alternative.
PS : Si un modo passe, il peux déplacer dans "Javascript" ? Je sais qu'il a pas que ça a faire, mais bon ...
Bha c'est parce que j'avais utilisé ce système pour mes onglets, mais c'est exactement ca. Ce code fait simplement défile le contenu de ton texte. J'aurai du préciser qu'il fallait l'adapter. A place de scrollLeft sa serait scrollTop. Je vais tenter de te faire un exemple.
Mais va falloir que tu fasses quelque chose de vraiment génial pour que ça soit meilleur que la barre intégrée au système.
Et je dis comme Davilink, c'est pas du JavaScript nécessaire. Ça va simplement rendre ton code plus compliqué et risquer d'être pas compatible avec certains utilisateurs.
Bonsoir à tous j'aimerai customiser mes barres de défilement mais sans les plugins de jquerry, bref pire HTML, CSS et JAVA SCRIPT. Genre une barre qui fonctionne parfaitement sur tous les navigateurs
Avant de poster un message, vérifiez la date du sujet dans lequel vous comptiez intervenir.
Si le dernier message sur le sujet date de plus de deux mois, mieux vaut ne pas répondre. En effet, le déterrage d'un sujet nuit au bon fonctionnement du forum, et l'informatique pouvant grandement changer en quelques mois il n'est donc que rarement pertinent de déterrer un vieux sujet.
Au lieu de déterrer un sujet il est préférable :
soit de contacter directement le membre voulu par messagerie privée en cliquant sur son pseudonyme pour accéder à sa page profil, puis sur le lien "Ecrire un message"
soit de créer un nouveau sujet décrivant votre propre contexte
ne pas répondre à un déterrage et le signaler à la modération
Pas d'aide concernant le code par MP, le forum est là pour ça :)