PB défilement page avec boutons dans une iframe

Résolu
chabgyver Messages postés 159 Date d'inscription dimanche 17 juillet 2011 Statut Membre Dernière intervention 28 janvier 2020 - 1 nov. 2006 à 20:21
chabgyver Messages postés 159 Date d'inscription dimanche 17 juillet 2011 Statut Membre Dernière intervention 28 janvier 2020 - 16 nov. 2006 à 13:26
Bonsoir,

Je sais pas si l'intitulé de mon message est vraiment clair mais de toute façon, je vais essayer d'être plus précis.

Déjà, afin que vous vous rendiez compte de ce que je veux, je vous donne l'url de mon site (qui est en construction), il s'agit du site web d'une radio associative :
http://balistiq.free.fr/test/index2.htm

Il y a à droite sous le dessin qui se trouve sous le logo "balistiq" un bouton à partir duquel je suis censé faire défiler les contenus des rubriques, pour l'instant, celle qui me sert à faire des tests est accessible via le bouton "La radio". Si vous cliquez dessus, elle apparaitra au centre.

Mon problème est que la portion de script qui correspond à mes boutons était autrefois partie intégrante de chaque rubrique, et là, je voudrai qu'il fasse partie de la page principale (index2.htm) et que lorsqu'on clique dessus, ça fasse défiler les contenus des rubriques.

[javascript:movedown()
]http://balistiq.free.fr/boutons.gif
" width="18" height="100" border="0" usemap="#MapMap">
  <map name="MapMap">
    [javascript:moveup()
    ]
    [javascript:movetop()
    ]
    [javascript:movedown()
  </map>
 

  ]

Comment faire ?

Vous aurez également remarqué que la partie centrale du site n'est pas alignée avec l'interface sauf si on met le tout en plein écran, ce n'est peut-être pas le sujet principal mais si ça pouvait être réglé au même temps, vous comprendrez que ça m'arrangerai bien.

En attendant une aide providentielle, je remercie d'avance toute les âmes charitables qui viendront à mon secours.

20 réponses

PetoleTeam Messages postés 3426 Date d'inscription lundi 26 décembre 2005 Statut Membre Dernière intervention 14 janvier 2011 17
14 nov. 2006 à 22:02
B

onjour...
j'ai mis à jour le fichier en ce qui concerne les DIVs qui apparaissent, un petit coup d'oeil s'impose, attention changement de stratégie pour la présentation...






;0)
3
PetoleTeam Messages postés 3426 Date d'inscription lundi 26 décembre 2005 Statut Membre Dernière intervention 14 janvier 2011 17
2 nov. 2006 à 18:00
B
onjour...

dans l'exemple ci dessous L'IFRAME  à une ID= "IFRAME"...

les fonctions pouvant être utilisées...

var ScrollTimer = null;
//----------------------
function INC_Scroll( id_){
  var Obj = frames[ id_];
  Obj.scrollBy( 0, 1);
  ScrollTimer = setTimeout(








"








INC_Scroll(








'










"








+id_ +








"










'








)








"








, 1);
}
//----------------------
function DEC_Scroll( id_){
  var Obj = frames[ id_];
  Obj.scrollBy( 0, -1);
  ScrollTimer = setTimeout( " DEC_Scroll('








"








+id_ +








"










'








)








"








, 1);
}
//-------------------
function Stop_Scroll(){
  clearTimeout( ScrollTimer);
}

pour l'image faisant remonter le contenu de l'iframe on place les événements suivant...
onmouseout = "Stop_Scroll();" Onmouseover="DEC_Scroll( 'IFRAME');"









pour l'image faisant decendre le contenu de l'iframe on place les événements suivant...

onmouseout= "Stop_Scroll();" Onmouseover="INC_Scroll( 'IFRAME');"












Nota
: Juste bien faire attention au guillemets






;0)
0
chabgyver Messages postés 159 Date d'inscription dimanche 17 juillet 2011 Statut Membre Dernière intervention 28 janvier 2020
3 nov. 2006 à 13:04
J'ai bien essayé plusieurs possibilités, mais ça reste abstrait, voilà la portion de mon code relative à l'iframe et au bouton ascensseur, je ne sais pas comment adapter tes explications à mon code.
Tu memarquera que j'ai bêtement ajouté ton code au dessus du DIV correspondant au bouton ascensseur et que j'ai modifié la zone du bouton qui permet de faire défiler vers le bas, mais bon, ça va pas plus loin, avant ça, j'ai essayé quantité de choses mais ça n'a mené à rien.

//--------------------------------------
// Changement de la SRC d'une IFRAME...
//--------------------------------------
function Charge_Fichier( where_, url_){
window.frames[where_].location.href= url_
}
</SCRIPT>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<script language="JavaScript" type="text/JavaScript">
<!--
function MM_reloadPage(init) {  //reloads the window if Nav4 resized
  if (init==true) with (navigator) {if ((appName=="Netscape")&amp;&amp;(parseInt(appVersion)==4)) {
    document.MM_pgW=innerWidth; document.MM_pgH=innerHeight; onresize=MM_reloadPage; }}
  else if (innerWidth!=document.MM_pgW || innerHeight!=document.MM_pgH) location.reload();
}
MM_reloadPage(true);
//-->
</script>
</HEAD>


 


  
[javascript:movedown() http://balistiq.free.fr/boutons.gif]" width ="18" height="100" border="0" usemap="#MapMap"> 
  <map name="MapMap">
    [javascript:moveup('la_frame'); 
    ]
    [javascript:movetop() 
    ]
    [javascript:onmouseout=  
  </map>
  

  ]
0
PetoleTeam Messages postés 3426 Date d'inscription lundi 26 décembre 2005 Statut Membre Dernière intervention 14 janvier 2011 17
3 nov. 2006 à 13:39
B
onjour...




Les functions doivent être ajoutées dans la partie...



<SCRIPT TYPE= "text/javascript">



var ScrollTimer = null;
//----------------------
function INC_Scroll( id_){
  var Obj = frames[ id_];
  Obj.scrollBy( 0, 1);
  ScrollTimer = setTimeout( "INC_Scroll('" +id_ + "')", 1); // attention pas d'espace entre les guillemets
}
//----------------------
function DEC_Scroll( id_){
  var Obj = frames[ id_];
  Obj.scrollBy( 0, -1);
  ScrollTimer = setTimeout("DEC_Scroll('" +id_ + "')", 1); // attention pas d'espace entre les guillemets
}
//-------------------
function Stop_Scroll(){
  clearTimeout( ScrollTimer);
}
</SCRIPT>

Quant aux appels ils deviennent...

<div id ="Layer1" style= "position:absolute; width:18px; height:127px; z-index:0; left: 1102px; top: 415px;">
http://balistiq.free.fr/boutons.gif" width="18" height="100" border="0" usemap="#MapMap">
< /div >

<map name ="MapMap">
 
 
 
 
 
</map>

Nota :
 1 - la function MM_reloadPage(init) peut être supprmiée réfèrence à NetScape 4
 2 - les areas 2,3 et 4 ne servent pas...




;0)
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
chabgyver Messages postés 159 Date d'inscription dimanche 17 juillet 2011 Statut Membre Dernière intervention 28 janvier 2020
3 nov. 2006 à 21:07
Les areas 2, 3 et 4 serviront dans le futur, faut juste que je fasse un bouton plus simple d'utilisation car leur fonction est la pause et le retour en haut de la page.

Par contre, en suivant ton exemple, si je clique sur l'area 5, logiquement, je suis censé faire défiler vers le bas, or, à la pace, ça m'ouvre une nouvelle page, mais ça, c'est logique, dans la fonction "href="void(0);", faut que je mette autre chose, mais j'ignore quoi.
Etant donné que mon système de défilement est sur la page index2.htm, et étant donné qu'il y a plein de pages à faire défiler, est-ce qu'il faudra que je déclare toutes les pages ? Car si c'est le cas, j'aime autant en revenir à ce que j'avais fais avant mais ça occasionnera un autre problème bien plus complexe à résoudre.
0
PetoleTeam Messages postés 3426 Date d'inscription lundi 26 décembre 2005 Statut Membre Dernière intervention 14 janvier 2011 17
4 nov. 2006 à 00:30
1000 excuses mais à la relecture il y a effectivement faute...
l'area 5 est régit comme les autres à savoir...

Les areas 2, 3 et 4 serviront dans le futur, faut juste que je fasse un bouton plus simple d'utilisation car leur fonction est la pause et le retour en haut de la page.
la pause est prise en compte par les onmouseout...

Par contre, en suivant ton exemple, si je clique sur l'area 5, logiquement, je suis censé faire défiler vers le bas,
dans ce cas il faut ajouter l'événement onclick="INC_Scroll('IFRAME');"

Etant donné que mon système de défilement est sur la page index2.htm, et étant donné qu'il y a plein de pages à faire défiler, est-ce qu'il faudra que je déclare toutes les pages
non c'est le contenu de l'iframe qui défile et ce qu'elque soit la source contenu...

;0)
0
chabgyver Messages postés 159 Date d'inscription dimanche 17 juillet 2011 Statut Membre Dernière intervention 28 janvier 2020
4 nov. 2006 à 09:25
Effectivement, tel que tu l'indique, le défilement devrait se faire, mais ce n'est pas le cas, il s'avère que le bouton ascensseur fait partie intégrante du fichier index2.html et ce sont les rubriques que je souhaite faire défiler qui elles, sont des fichiers à part qui apparaisse dans la partie centrale.
Ton système fonctionne très bien dans le cas ou le bouton ascensseur fait partie intégrante de chaque fichiers de chaque rubrique.

Si j'ai décidé de le mettre dans index2.html, c'est que j'ai un soucis avec les calques et que j'ai pas trouvé de solution, mais si vraiment le fait d'avoir mis le bouton en dehors de chaque fichier pose problème, je reverrai mon problème de calque plus au calme.

Mais bon, je crois que t'a bien cerné mon problème, décidément, je t'en demande beaucoup. :-)

Je t'encourage à examiner le code d'une des rubriques, à savoir : http://balistiq.free.fr/test/rubriques/radio.html

Le bouton ascensseur était greffé dessus à la base, ça pourra sûrement t'éclairer davanatge.
0
PetoleTeam Messages postés 3426 Date d'inscription lundi 26 décembre 2005 Statut Membre Dernière intervention 14 janvier 2011 17
4 nov. 2006 à 10:32
B

onjour...


je pense que tu n'as bien saisi ou il fallait tout placer, c'est dans ton fichier index2.html que tout doit se retrouver...
je t'engage à aller voir ICI pour récupérer le fichier modifié....

;0)
0
chabgyver Messages postés 159 Date d'inscription dimanche 17 juillet 2011 Statut Membre Dernière intervention 28 janvier 2020
4 nov. 2006 à 13:36
Tu vas dire que je suis très bête pour ne pas dire pire mais j'ai comparé ton code avec le mien à la virgule près et j'exagère à peine, le résultat est le même, alors, j'ai pris bêtement ton code et j'ai remplacé le mien par celui-ci et là encore, c'est pareil, mon pc doit être possédé par une force démoniaque, ça à se demander.

Dans l'état actuelle des choses, le lien que tu as plus haut a été modifié avec ton code exactement comme il est dans ton exemple.

C'est de la science fiction.
0
chabgyver Messages postés 159 Date d'inscription dimanche 17 juillet 2011 Statut Membre Dernière intervention 28 janvier 2020
4 nov. 2006 à 21:40
J'ai repéré d'où vient le problème mais là encore, c'est de l'ébreu ancien, il s'agit du fichier "radio.html qui se trouve ici :
http://balistiq.free.fr/test/rubriques/radio.html

Le soucis se trouve dans cette portion de code :

 

  &nbsp;

&nbsp;

</layer>


<script language="JavaScript1.2">
if (iens6){
document.write('

')
var crossobj=document.getElementById? document.getElementById("content") : document.all.content
var contentheight=crossobj.offsetHeight
}
else if (ns4){
var crossobj=document.nscontainer.document.nscontent
var contentheight=crossobj.clip.height
}


function movedown(){
if (window.moveupvar) clearTimeout(moveupvar)
if (iens6&&parseInt(crossobj.style.top)>=(contentheight*(-1)+100))
crossobj.style.top=parseInt(crossobj.style.top)-speed+"px"
else if (ns4&&crossobj.top>=(contentheight*(-1)+100))
crossobj.top-=speed
movedownvar=setTimeout("movedown()",20)
}


function moveup(){
if (window.movedownvar) clearTimeout(movedownvar)
if (iens6&&parseInt(crossobj.style.top)<=0)
crossobj.style.top=parseInt(crossobj.style.top)+speed+"px"
else if (ns4&&crossobj.top<=0)
crossobj.top+=speed
moveupvar=setTimeout("moveup()",20)
}


function stopscroll(){
if (window.moveupvar) clearTimeout(moveupvar)
if (window.movedownvar) clearTimeout(movedownvar)
}


function movetop(){
stopscroll()
if (iens6)
crossobj.style.top=0+"px"
else if (ns4)
crossobj.top=0
}


function getcontent_height(){
if (iens6)
contentheight=crossobj.offsetHeight
else if (ns4)
document.nscontainer.document.nscontent.visibility="show"
}
window.onload=getcontent_height
</script>
0
PetoleTeam Messages postés 3426 Date d'inscription lundi 26 décembre 2005 Statut Membre Dernière intervention 14 janvier 2011 17
6 nov. 2006 à 17:55
B

onjour...retour de WeekEnd...


Je viens de me plonger plus avant dans ta page radio.htm et ô stupeur tu utilises dans la ligne...

overflow:hidden; top:10; left:10; clip:rect(200 800 490 0); border:0px"> les attributs overflow: hidden; et clip:rect(200 800 490 0); ce qui signifie en clair que tu ne veux pas VOIR ce qui dépasse...

Nota:
...au passage...
  clip:rect() ne marche, à ma connaissance, qu'avec position:absolute -> donc inutile ici...
  overflow peut prendre les valeurs
  - visible valeur par défaut
  - scroll les scrollbars sont ajoutées
  - hidden cache ce qui sort de la fenêtre
  - auto les scrollbars sont ajoutées si nécessaire

Dans ton cas c'est la fenêtre mère qui gére cela, l'IFRAME donc, il n'est pas utile, même contrariant, d'utiliser ces attributs dans ta feuille.

[mon pc doit être possédé par une force démoniaque, ça à se demander]
Non dans le fichier que je t'ai mis j'ai supprimé tous ce qui concerne le javascript, devenu inutile et également supprimé par la même de div avec attributs à problème...

Voila j'espère que cela devrait aller mieux...

;0)
0
chabgyver Messages postés 159 Date d'inscription dimanche 17 juillet 2011 Statut Membre Dernière intervention 28 janvier 2020
6 nov. 2006 à 22:18
Ca a bien réglé ce problème là mais du coup, ça en a engendré un autre de triste mémoire puisqu'il s'agit de la fixité de l'image de fond.
J'étais trop content d'avoir résolu ce problème et maintenant, il reviens, j'ai vraiment l'impression de tourner en rond.

La question est : Est-ce que mon problème est résolvable avec la technologie actuelle ou dois-je attendre une version 158 de IE ?

Une fois que tout sera au point, je promet de ne plus embêter qui que ce soit avec du code pendant au moins 10 ans.
C'est très frustrant de vouloir faire des sites web un peu chiadés quand on a des notions de base, mais vraiment de base, quand il s'agit de faire du design, ça va encore, j'y arrive sans mal, c'est mon ruc, ça, mais le coding, je trouve ça chiant à mourrir, mais malheureusement, je suis bien obligé de passer par là si je veux obtenir quelque chse qui sort un peu de l'ordinaire, c'est mon petit côté anti-conformiste.

Je suis désolé si je parais un peu énervé et je te remercierai jamais assez pour ta patience et tes coups de mains sans quoi j'aurai sans doute été obligé d'adopter un design comme on en vois partout.

Donc, au final, j'aimerai un fond fixe et accessoirement que l'ensemble puisse s'adapter à la résolution de l'écran et là, je crois que ça sera tout et c'est déjà pas mal.
0
PetoleTeam Messages postés 3426 Date d'inscription lundi 26 décembre 2005 Statut Membre Dernière intervention 14 janvier 2011 17
7 nov. 2006 à 05:05
B

onjour...

Il te faut mettre un style au body de la sorte dans chacune de tes pages...

<STYLE TYPE="text/css">
body{
  background-repeat:no-repeat;
  background-attachment:fixed;
  background-image:url(http://balistiq.free.fr/test/contenu.jpg);
  margin:0 0 0 10px;
  background-color:#000000;
}
</STYLE>

Va voir ou tu sait pour la mise en forme...




;0)
0
chabgyver Messages postés 159 Date d'inscription dimanche 17 juillet 2011 Statut Membre Dernière intervention 28 janvier 2020
7 nov. 2006 à 13:32
Ca marche enfin !!!

MERCI infiniment, si tu as un site web, je serai heureux de t'ajouter comme partenaires sur mon site dès que ma page liens aura été définie, tu le mérite amplement et c'est peu dire.
0
PetoleTeam Messages postés 3426 Date d'inscription lundi 26 décembre 2005 Statut Membre Dernière intervention 14 janvier 2011 17
7 nov. 2006 à 13:42
R
IENRIEN

a mon avis tu n'es pas aux bouts de tes peines...

Pas de site à vraiment parler, juste CELA




;0)
0
chabgyver Messages postés 159 Date d'inscription dimanche 17 juillet 2011 Statut Membre Dernière intervention 28 janvier 2020
7 nov. 2006 à 22:04
Juste une p'tite question concernant la mise en page :
J'éprouve quelques difficultés à aligner mes différents calques. Quand c'est aligné avec IE, ça ne l'est pas avec Firefox et vis & versa et c'est encore plus flagrant quand je diminue la résolution d'écran car là, y'a de gros décalages.

J'ai été voir sur le fichier CSS et aucune modifs n'y fait quoi que ce soit.
Ensuite, les modifs apportées au fichier radio.html ne semble pas changer grand chose non plus.
Il n'y a que dans le fichier index2.htm que ca se règle. La question es : est-il possible de faire la mise en page dans le fichier CSS et que modifier dans le fichier index2.htm pour que ce soit propre ?

Merci d'avance.
0
chabgyver Messages postés 159 Date d'inscription dimanche 17 juillet 2011 Statut Membre Dernière intervention 28 janvier 2020
11 nov. 2006 à 11:03
J'ai essayé de mettre ceci dans le fichier css :

#fix {
     position:absolute;
     top: 113;
     left: 314;
}
body>div#fixe {
    position: fixed;
}

html,body {
    margin: 0;
    padding: 0;
    overflow-y: hidden;
    height: 100%;
}

#container {
    z-index: 10;
    height: 100%;
    width: 100%;
    overflow-y: auto;
    overflow-x: hidden;
}

J'ai pas obtenu grand chose de satisfaisant car j'ai pas su quoi modifier dans le fichier index2.htm, enfin, là, j'avoue être un epu paumé.
Si t'as une idée...
0
PetoleTeam Messages postés 3426 Date d'inscription lundi 26 décembre 2005 Statut Membre Dernière intervention 14 janvier 2011 17
13 nov. 2006 à 17:53
B

onjour...

Pour le réglage de l'iframe centrale il te faut procéder comme je l'ai fais dans le fichier index2.htm mis à ta disposition, est ce cela qui te pose problème ou tous tes DIV qui en position absolute se placeront quoi qu'il arrive à la même position et ce quelque soit la taille de la fenêtre...




;0)
0
chabgyver Messages postés 159 Date d'inscription dimanche 17 juillet 2011 Statut Membre Dernière intervention 28 janvier 2020
14 nov. 2006 à 20:58
J'ai examiné le code de ma page index2.htm et le code de la page index2.htm que tu a mis à ma disposition et franchement, je vois pas où se situe la différence, j'ai bien comparé ligne par ligne et je vois pas pourquoi ton index2 marche bien, à savoir que tous les éléments se redimensionnent tous comme y faut et que mon fichier n'agit pas de même.
C'est quand même bizarre.

Alors, peu-être que la différence se situe au niveau du fichier css, voilà à quoi il ressemble :

BODY{
  background-repeat:no-repeat;
  background-image:url(http://balistiq.free.fr/test/contenu.jpg);
  background-position: 0px 0px;
  background-attachment:fixed;
  margin:0 0 0 0px;
  background-color:#000000;
}
0
chabgyver Messages postés 159 Date d'inscription dimanche 17 juillet 2011 Statut Membre Dernière intervention 28 janvier 2020
16 nov. 2006 à 13:26
Cette fois, tout marche come sur des roulettes.
Encore merci
0
Rejoignez-nous