par
Smon » 10 févr. 2009, 14:35
Je modifie le code au fur et à mesure des modifications proposées, le code ci-dessous est donc le code actuel (qui ne fonctionne pas)
Je cherche à réaliser une div flottante comme on peut les trouver sur Google Calendar :
Bon j'ai essayé de bricoler un truc mais impossible de le faire fonctionner ...
J'ai deux fichiers .js que j'appelle de cette façon :
Code : Tout sélectionner
<!-- Javascript -->
<script type="text/javascript" src="javascript/ajax.js"></script>
<script type="text/javascript" src="javascript/fonctions.js"></script>
J'appelle ma fonction javascript de cette manière :
Code : Tout sélectionner
<a href="javascript:inscription(event);">Créer un compte</a>
ajax.js contient :
Code : Tout sélectionner
var httpRequest = false;
if (window.XMLHttpRequest){ // Mozilla, Safari,...
httpRequest = new XMLHttpRequest();
if (httpRequest.overrideMimeType) {
httpRequest.overrideMimeType('text/xml');
}
}
else if (window.ActiveXObject){ // IE
try {
httpRequest = new ActiveXObject("Msxml2.XMLHTTP");
}
catch (e) {
try {
httpRequest = new ActiveXObject("Microsoft.XMLHTTP");
}
catch (e) {}
}
}
else{
alert('Votre navigateur ne supporte pas la technologie AJAX');
}
function alertContents(httpRequest) {
if (httpRequest.readyState == 4) {
if (httpRequest.status == 200) {
alert(httpRequest.responseText);
}
else {
alert('Un problème est survenu avec la requête.');
}
}
}
et fonctions.js contient :
Code : Tout sélectionner
var referenceDiv=null;
var newDiv=null;
function inscription(evt){
// crée un nouvel élément div
// et lui donne un peu de contenu
newDiv=document.createElement("div");
newDiv.style.width='200px';
newDiv.style.height='300px';
newDiv.style.left=evt.pageX-200+'px';
newDiv.style.top=evt.pageY-150+'px';
newDiv.style.position='absolute';
newDiv.style.zIndex='100';
// On ouvre la requete vers la page désirée
httpRequest.onreadystatechange = function() {
alertContents(httpRequest);
};
httpRequest.open('GET', "includes/inscription.php", true);
httpRequest.send(null);
// ajoute l'élément qui vient d'être créé et son contenu au DOM
referenceDiv=document.getElementById("global");
document.body.insertBefore(newDiv, referenceDiv);
}
J'ai mal fait quelque chose ?
[Note : ce message a été posté de manière anonyme avant d'être réattribué à son auteur][/i]
[i]Je modifie le code au fur et à mesure des modifications proposées, le code ci-dessous est donc le code actuel (qui ne fonctionne pas)[/i]
Je cherche à réaliser une div flottante comme on peut les trouver sur Google Calendar :
[img]http://www.google.com/intl/fr/googlecalendar/images/ss-tour2.jpg[/img]
Bon j'ai essayé de bricoler un truc mais impossible de le faire fonctionner ...
J'ai deux fichiers .js que j'appelle de cette façon :
[code]<!-- Javascript -->
<script type="text/javascript" src="javascript/ajax.js"></script>
<script type="text/javascript" src="javascript/fonctions.js"></script>[/code]
J'appelle ma fonction javascript de cette manière :
[code]<a href="javascript:inscription(event);">Créer un compte</a>[/code]
ajax.js contient :
[code]var httpRequest = false;
if (window.XMLHttpRequest){ // Mozilla, Safari,...
httpRequest = new XMLHttpRequest();
if (httpRequest.overrideMimeType) {
httpRequest.overrideMimeType('text/xml');
}
}
else if (window.ActiveXObject){ // IE
try {
httpRequest = new ActiveXObject("Msxml2.XMLHTTP");
}
catch (e) {
try {
httpRequest = new ActiveXObject("Microsoft.XMLHTTP");
}
catch (e) {}
}
}
else{
alert('Votre navigateur ne supporte pas la technologie AJAX');
}
function alertContents(httpRequest) {
if (httpRequest.readyState == 4) {
if (httpRequest.status == 200) {
alert(httpRequest.responseText);
}
else {
alert('Un problème est survenu avec la requête.');
}
}
}[/code]
et fonctions.js contient :
[code]var referenceDiv=null;
var newDiv=null;
function inscription(evt){
// crée un nouvel élément div
// et lui donne un peu de contenu
newDiv=document.createElement("div");
newDiv.style.width='200px';
newDiv.style.height='300px';
newDiv.style.left=evt.pageX-200+'px';
newDiv.style.top=evt.pageY-150+'px';
newDiv.style.position='absolute';
newDiv.style.zIndex='100';
// On ouvre la requete vers la page désirée
httpRequest.onreadystatechange = function() {
alertContents(httpRequest);
};
httpRequest.open('GET', "includes/inscription.php", true);
httpRequest.send(null);
// ajoute l'élément qui vient d'être créé et son contenu au DOM
referenceDiv=document.getElementById("global");
document.body.insertBefore(newDiv, referenceDiv);
}
[/code]
J'ai mal fait quelque chose ?
[i][color=darkred][Note : ce message a été posté de manière anonyme avant d'être réattribué à son auteur][/color][/i][/i]