modification pour ajout d'un script de scroll en JS
Bonjour,
plutôt qu'avoir un vilain scrollbar windows, je voulais modifier le code du template de pluxml afin d'y insérer un JS trouvé sur internet.
alors le script JS ça j'ai su inséré très facilement ainsi que le onload mais pour fonctionner il faut mettre différents div dans le code de PluXML et c'est là que ça a l'air de coincer impossible de faire disparaître les scrollbars et de faire apparaître le script JS fonctionnant.
Ci dessus le code exemple d'une page HTML où ce script fonctionne.
Si quelqu'un peut m'aider à l'intégrer dans PluXML, un tout grand merci.
plutôt qu'avoir un vilain scrollbar windows, je voulais modifier le code du template de pluxml afin d'y insérer un JS trouvé sur internet.
alors le script JS ça j'ai su inséré très facilement ainsi que le onload mais pour fonctionner il faut mettre différents div dans le code de PluXML et c'est là que ça a l'air de coincer impossible de faire disparaître les scrollbars et de faire apparaître le script JS fonctionnant.
Ci dessus le code exemple d'une page HTML où ce script fonctionne.
Si quelqu'un peut m'aider à l'intégrer dans PluXML, un tout grand merci.
<html>
<head>
<title>Untitled</title>
<!-- JAVASCRIPT DU TEXTE DEFILANT ----------------------------------------------------->
<style type="text/css">
#divControl {position:relative; left:397px; top:128px; width:30px; font-size:10px; font-family:verdana; visibility:hidden;}
#divcontenue {position:relative;}
#divCont {position:absolute; left:20px; top:12px; width:367px; height:327px; clip:rect(0px 367px 326px 0px);}
.clScroll {position:absolute; font-size:10px; font-family:verdana; visibility:hidden;}
</style>
<script language="JavaScript" type="text/javascript">
<!--
function MM_preloadImages() { //v3.0
var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}
function MM_swapImgRestore() { //v3.0
var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}
function MM_findObj(n, d) { //v4.01
var p,i,x; if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
if(!x && d.getElementById) x=d.getElementById(n); return x;
}
function MM_swapImage() { //v3.0
var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}
//-->
function lib_bwcheck(){ //Browsercheck (needed)
this.ver=navigator.appVersion
this.agent=navigator.userAgent
this.dom=document.getElementById?1:0
this.opera5=(navigator.userAgent.indexOf("Opera")>-1 && document.getElementById)?1:0
this.ie5=(this.ver.indexOf("MSIE 5")>-1 && this.dom && !this.opera5)?1:0;
this.ie6=(this.ver.indexOf("MSIE 6")>-1 && this.dom && !this.opera5)?1:0;
this.ie4=(document.all && !this.dom && !this.opera5)?1:0;
this.ie=this.ie4||this.ie5||this.ie6
this.mac=this.agent.indexOf("Mac")>-1
this.ns6=(this.dom && parseInt(this.ver) >= 5) ?1:0;
this.ns4=(document.layers && !this.dom)?1:0;
this.bw=(this.ie6 || this.ie5 || this.ie4 || this.ns4 || this.ns6 || this.opera5)
return this
}
var bw=lib_bwcheck()
//The speed of the timeout between each scroll.
timSpeed = 30
//The height of the container (change this when it scrolls to much or to little)
contHeight = 320
function makeScrollObj(obj,nest){
nest=(!nest) ? "":'document.'+nest+'.'
this.el=bw.dom?document.getElementById(obj):bw.ie4?document.all[obj]:bw.ns4?eval(nest+'document.'+obj):0;
this.css=bw.dom?document.getElementById(obj).style:bw.ie4?document.all[obj].style:bw.ns4?eval(nest+'document.'+obj):0;
this.height=bw.ns4?this.css.document.height:this.el.offsetHeight
this.top=b_gettop
return this
}
var px = bw.ns4||window.opera?"":"px";
function b_gettop(){
var gleft=(bw.ns4 || bw.ns6)?parseInt(this.css.top):eval(this.css.pixelTop);
return gleft;
}
var scrollTim = 1;
var active = 0;
function scroll(speed){
clearTimeout(scrollTim)
way = speed>0?1:0
if ((!way && oScroll[active].top()>-oScroll[active].height+contHeight) || (oScroll[active].top()<0 && way)){
oScroll[active].css.top = (oScroll[active].top()+speed)+px
scrollTim = setTimeout("scroll("+speed+")",timSpeed)
}
}
function noScroll(){
clearTimeout(scrollTim)
}
function scrollInit(){
oScroll = new Array()
oScroll[0] = new makeScrollObj('divScroll1','divCont')
oScroll[0].css.left = 0+px
oScroll[0].css.top = 0+px
oScroll[0].css.visibility = "visible"
oControl = new makeScrollObj('divControl')
oControl.css.visibility = "visible"
}
</script>
<!-- FIN JAVASCRIPT DU TEXTE DEFILANT ----------------------------------------------------->
</head>
<body onLoad="MM_preloadImages('images/haut2.gif','images/bas2.gif');scrollInit();">
<div id="divcontenue">
<div id="divCont">
<div id="divScroll1" class="clScroll">
<div align="justify">
<!-- FIN NE PAS TOUCHER -->
<!-- PLACEZ LE TEXT DU CONTENU DE LA RUBRIQUE ICI-->
Placez un text ici sans vous préoccuper de sa
longueur, vous pouvez également y mettre des images,
des liens etc...<br>
<br>
Voici un text d'exemple : <br>
<br>
Occulté par les grands médias, un document décisif
est passé inaperçu : le rapport (1) publié par
l'Organisation internationale du travail (OIT)
dénonçant le fait que, chaque année dans le monde,
270 millions de salariés sont victimes d'accidents
du travail et que 160 millions contractent des
maladies professionnelles. L'étude révèle que
le nombre de travailleurs morts dans l'exercice
de leur métier dépasse, par an, les deux millions...
Chaque jour, donc, le travail tue 5 000 personnes
! « Et ces chiffres, signale le rapport, sont
au-dessous de la réalité (2). » <br>
<br>
En France, chaque année, selon la Caisse nationale
d'assurance-maladie (CNAM), 780 salariés sont
également tués par leur travail (plus de 2 par
jour !). Là aussi, « les chiffres sont sous-estimés
». Et il y a 1 350 000 accidents du travail environ
(3), ce qui correspond à 3 700 victimes par jour,
soit, pour une journée de huit heures, à 8 blessés
par minute...<br>
<br>
Cette souffrance silencieuse, cette redevance
versée à la croissance et à la compétitivité,
les défenseurs du peuple l'appelaient jadis :
l'« impôt du sang (4) ». A l'heure de se pencher
sur la question des retraites, il convient de
garder ce tribut en mémoire. Et de songer aux
centaines de milliers de salariés qui n'atteignent
la fin de leur vie active qu'usés, échinés, délabrés.
Sans pouvoir profiter de leur troisième âge. Car,
si l'espérance de vie a augmenté, cela se traduit
aussi, en raison des séquelles de l'activité professionnelle,
par une explosion des maladies du retraité : cancers,
affections cardiovasculaires, dépressions, attaques
cérébrales, handicaps sensoriels, arthrose, démences
séniles, Alzheimer, etc.<br>
<br>
Cela rend particulièrement répugnante l'attaque
contre le régime des retraites. Une attaque coordonnée,
entraînée par les moteurs de la mondialisation
libérale (5) - G8, Banque mondiale (6), OCDE (7)
- qui, depuis les années 1970, conduisent une
offensive contre la Sécurité sociale (8) et l'Etat-providence.
Relayée par l'Union européenne, dont les chefs
d'Etat et de gouvernement, de droite et de gauche
(M. Chirac et M. Jospin pour la France), ont décidé,
lors du sommet de Barcelone, en mars 2002, de
repousser de cinq ans l'âge de départ à la retraite
(9). Ce qui suppose une sérieuse régression sociale,
et l'abandon du projet de bâtir des sociétés plus
équilibrées et plus égalitaires.<br>
<br>
Alors que les classes moyennes sont laminées,
appauvries, la richesse continue de se concentrer
au sommet : il y a trente ans, un patron touchait
environ quarante fois le salaire moyen d'un travailleur
; aujourd'hui, il gagne mille fois plus (10)...
Et peut voir venir, sans inquiétude, l'heure de
la cessation d'activité. Ce qui est loin d'être
le cas des salariés ordinaires, en particulier
des enseignants. <br>
<br>
Par centaines de milliers, en Italie, en Espagne,
en Allemagne, en Grèce, en Autriche, en France,
ceux-ci ont donc multiplié les arrêts de travail
pour protester contre le démantèlement du système
des retraites, qu'il faut par ailleurs réformer.
Parce que le nombre d'actifs diminue, alors qu'augmente
celui des retraités. Et parce que le poids des
pensions, égal à 11,5 % du PIB, représentera 13,5
% en 2020, 15,5 % en 2040, et deviendra une charge
importante pour la société.<br>
<br>
Malgré la crise boursière, qui a fait perdre plus
de 20 % de leur valeur aux fonds de pension (11),
l'option d'une retraite par capitalisation n'est
pas écartée. Elle l'est d'autant moins que la
réforme du système par répartition n'est envisagée
qu'aux dépens des salariés. Comme s'il ne s'agissait
que d'un problème technique, sans conséquences
pour l'ensemble de la société. Toutes les variables
- montant et allongement des cotisations, âge
de départ à la retraite, montant des pensions
- sont modifiées systématiquement au détriment
du salarié et des revenus du travail. Aucune solution
alternative, mettant à contribution les entreprises
ou taxant les profits financiers, n'a été retenue.<br>
<br>
On estime normal que deux salariés français perdent
leur vie au travail chaque jour, et que huit autres
soient sacrifiés par minute au bien-être des entreprises.
Mais pas que celles-ci, ni le capital, participent
davantage aux retraites des personnels. Comment
ne pas comprendre la colère des citoyens ?<br>
<br>
<!-- FIN -->
</div>
</div>
</div>
</div>
<div id="divControl"><a href="#" onmouseover="scroll(5)" onmouseout="noScroll()" onclick="return false"><img src="images/haut1.gif" name="Image1" width="15" height="18" border="0" id="Image1" onMouseOver="MM_swapImage('Image1','','images/haut2.gif',1)" onMouseOut="MM_swapImgRestore()"></a><br>
<a href="#" onmouseover="scroll(-5)" onmouseout="noScroll()" onclick="return false"><img src="images/bas1.gif" name="Image2" width="15" height="18" border="0" id="Image2" onMouseOver="MM_swapImage('Image2','','images/bas2.gif',1)" onMouseOut="MM_swapImgRestore()"></a></div></td></tr></table>
<!-- FIN -->
</body>
</html>
Connectez-vous ou Inscrivez-vous pour répondre.
Réponses
J'ai pris une approche différente de la tienne pour faire plus simple (et çà fonctionne)
J'ai crée un article, je lui ai collé "dans le contenu" l'intégralité de ton code (sans les 4 premières lignes de balises: <html><head><title> et <!-- JAVASCRIPT DU, ni les 2 dernières: </body et </html>).
Aucun problème; bien entendu il te faudra personnaliser les variables de la vitesse et celui de la hauteur pour l'accorder sur ton texte mais çà marche et sans bricoler le template ! voila pourquoi:
Si tu injecte ce système dans un template, l'effet se produira sur TOUT les articles et non uniquement sur un seul (comme tu dois le désirer)...
De plus, j'ai vérifier avec l'excellent diagnostiqueur "Firefox" et on s'aperçois que çà fout en l'air la validation xhtml strict1 ! surtout au niveau des balises du script, il faudrais le transcrire en .js et faire un appel sur ce .js dans l'entête de l'article ou tu veux faire cet effet...
c'est pas gagné d'avance
cherche voir s'il n'y a pas un autre script plus souple sur la toile car des qu'on s'attaque à l'intégration de script dans xhtml, çà deviens plus coriace.
cordialement