11496 sujets

JavaScript, DOM et API Web HTML5

Bonjour, je suis nouveau sur ce site et j'espère que vous pourrez m'aider. J'ai utilisé un code que j'ai trouvé sur un site (jimdo je crois) et j'aimerai savoir s'il est possible de le modifier ou si vous avez autre chose à me proposer de mieux.

Celui-ci permet de faire "flotter" une image sur la page (quelque-soit sa taille et j'aimerai garder cette fonction) il suffit de cliquer dessus pour qu'elle disparaisse.

Ce que j'aimerai : pouvoir rediriger les visiteurs qui cliquent sur cette image vers une page de mon site, mais garder la fonction de fermeture à un endroit précis de l'image (par exemple une croix en haut à droite) afin que si cette image dérange on puisse la fermer tout simplement comme ça l'est déjà mais pas sur toute l'image.

Voici le code :

//<![Pub Volante[
var Ymax=8;
var Xmax=8;
var Tmax=10000; 
var floatimages=new Array();
floatimages[0]='images/banniere.png';
var NS4 = (navigator.appName.indexOf("Netscape")>=0 && parseFloat(navigator.appVersion) >= 4 && parseFloat(navigator.appVersion) < 5)? true : false;
var IE4 = (document.all)? true : false;
var NS6 = (parseFloat(navigator.appVersion) >= 5 && navigator.appName.indexOf("Netscape")>=0 )? true: false;
var wind_w, wind_h, t='', IDs=new Array();
for(i=0; i<floatimages.length; i++){
t+=(NS4)?'<layer name="pic'+i+'" visibility="hide" width="10" height="10"><a href="javascript:hidebutterfly()">' : '<div id="pic'+i+'" style="position:absolute; visibility:hidden;width:10px; height:10px; z-index:50"><a href="javascript:hidebutterfly()">';
t+='<img src="'+floatimages[i]+'" name="p'+i+'" border="0">';
t+=(NS4)? '<\/a><\/layer>':'<\/a><\/div>';
}
document.write(t);
function moveimage(num){
if(getidleft(num)+IDs[num].W+IDs[num].Xstep >= wind_w+getscrollx())IDs[num].Xdir=false;
if(getidleft(num)-IDs[num].Xstep<=getscrollx())IDs[num].Xdir=true;
if(getidtop(num)+IDs[num].H+IDs[num].Ystep >= wind_h+getscrolly())IDs[num].Ydir=false;
if(getidtop(num)-IDs[num].Ystep<=getscrolly())IDs[num].Ydir=true;
moveidby(num, (IDs[num].Xdir)? IDs[num].Xstep : -IDs[num].Xstep , (IDs[num].Ydir)? IDs[num].Ystep: -IDs[num].Ystep);
}
function getnewprops(num){
IDs[num].Ydir=Math.floor(Math.random()*2)>0;
IDs[num].Xdir=Math.floor(Math.random()*2)>0;
IDs[num].Ystep=Math.ceil(Math.random()*Ymax);
IDs[num].Xstep=Math.ceil(Math.random()*Xmax)
setTimeout('getnewprops('+num+')', Math.floor(Math.random()*Tmax));
}
function getscrollx(){
if(NS4 || NS6)return window.pageXOffset;
if(IE4)return document.body.scrollLeft;
}
function getscrolly(){
if(NS4 || NS6)return window.pageYOffset;
if(IE4)return document.body.scrollTop;
}
function getid(name){
if(NS4)return document.layers[name];
if(IE4)return document.all[name];
if(NS6)return document.getElementById(name);
}
function moveidto(num,x,y){
if(NS4)IDs[num].moveTo(x,y);
if(IE4 || NS6){
IDs[num].style.left=x+'px';
IDs[num].style.top=y+'px';
}}
function getidleft(num){
if(NS4)return IDs[num].left;
if(IE4 || NS6)return parseInt(IDs[num].style.left);
}
function getidtop(num){
if(NS4)return IDs[num].top;
if(IE4 || NS6)return parseInt(IDs[num].style.top);
}
function moveidby(num,dx,dy){
if(NS4)IDs[num].moveBy(dx, dy);
if(IE4 || NS6){
IDs[num].style.left=(getidleft(num)+dx)+'px';
IDs[num].style.top=(getidtop(num)+dy)+'px';
}}
function getwindowwidth(){
if(NS4 || NS6)return window.innerWidth;
if(IE4)return document.body.clientWidth;
}
function getwindowheight(){
if(NS4 || NS6)return window.innerHeight;
if(IE4)return document.body.clientHeight;
}
function init(){
wind_w=getwindowwidth();
wind_h=getwindowheight();
for(i=0; i<floatimages.length; i++){
IDs[i]=getid('pic'+i);
if(NS4){
IDs[i].W=IDs[i].document.images["p"+i].width;
IDs[i].H=IDs[i].document.images["p"+i].height;
}
if(NS6 || IE4){
IDs[i].W=document.images["p"+i].width;
IDs[i].H=document.images["p"+i].height;
}
getnewprops(i);
moveidto(i , Math.floor(Math.random()*(wind_w-IDs[i].W)), Math.floor(Math.random()*(wind_h-IDs[i].H)));
if(NS4)IDs[i].visibility = "show";
if(IE4 || NS6)IDs[i].style.visibility = "visible";
startfly=setInterval('moveimage('+i+')',Math.floor(Math.random()*100)+100);
}}
function hidebutterfly(){
for(i=0; i<floatimages.length; i++){
if (IE4)
eval("document.all.pic"+i+".style.visibility='hidden'")
else if (NS6)
document.getElementById("pic"+i).style.visibility='hidden'
else if (NS4)
eval("document.pic"+i+".visibility='hide'")
clearInterval(startfly)
}
}
if (NS4||NS6||IE4){
window.onload=init;
window.onresize=function(){ wind_w=getwindowwidth(); wind_h=getwindowheight(); }
}
//]]>


et un exemple d'image que j'aimerai utiliser :
upload/53559-banniere.png

Merci beaucoup pour votre aide ! Smiley cligne [/i][/i][/i][/i][/i][/i][/i][/i][/i][/i][/i][/i]
Je pense plutôt que personne ne veut se pencher sur un code copié/collé conçu pour Netscape 4 et IE4 qui n'existent plus depuis 15 ans.
Bonsoir,

Je penses que tu peux oublier ton bout de code sortie tout droit de la préhistoire du web Smiley cligne
if (NS4||NS6||IE4){
Smiley eek

Tu devrais regarder du côté des plugins jquery de popin. Mais vu que je n'aime pas les pubs intrusives, je te laisse chercher Smiley lol
jb_gfx a écrit :
Je pense plutôt que personne ne veut se pencher sur un code copié/collé conçu pour Netscape 4 et IE4 qui n'existent plus depuis 15 ans.
benj a écrit :
Bonsoir,
Je penses que tu peux oublier ton bout de code sortie tout droit de la préhistoire du web
if (NS4||NS6||IE4){

Tiens, vous pensez de conserve maintenant ?! Smiley lol Smiley eek
6l20 a écrit :
Tiens, vous pensez de conserve maintenant ?! Smiley lol Smiley eek
En effet grillé ! En un peu moins abrupt que la réponse de jb_gfx. Smiley langue

NB : En me citant, pas la peine de copier mes fautes d’orthographe.
benj a écrit :
En effet grillé ! En un peu moins abrupt que la réponse de jb_gfx. Smiley langue
NB : En me citant, pas la peine de copier mes fautes d’orthographe.
C'est ce qui fait son charme Smiley lol
Je passe déjà suffisamment de temps à éditer mes messages pour corriger les miennes (pourtant je le fais assez régulièrement)! Smiley cligne
J'en avais essayé plusieurs mais c'est le seul qui fonctionnait bien. Vous avez des liens à me donner pour effectuer mes recherches ?

PS : je n'aime pas les pubs non plus mais c'est ce que veut mon client...