Aller au contenu

jerome2

Membre
  • Compteur de contenus

    5
  • Inscrit(e) le

  • Dernière visite

Réputation sur la communauté

0 Neutre
  1. Bonjour, j'utilise 3 javascript sur ma page : un pour afficher une animation flash (pour respecter les standards), un pour détecter si le navigateur est ie (dans ce cas : changement de fichier css) , et un pour régler la transparence des png sous ie le cas échéant. le problème est que le script pour le flash semble faire sauter les autres scripts, car depuis que je l'ai intégré à ma page, l'affichage sous ie est bordélique et les png ne sont plus transparents. vous l'aurez deviné je n'y connais rien au javascript, c'est pour ça que j'espère une aide providentielle..... voici le script pour le flash : if(typeof deconcept == "undefined") var deconcept = {}; if(typeof deconcept.util == "undefined") deconcept.util = {}; if(typeof deconcept.SWFObjectUtil == "undefined") deconcept.SWFObjectUtil = {}; deconcept.SWFObject = function(swf, id, w, h, ver, c, quality, xiRedirectUrl, redirectUrl, detectKey) { if (!document.getElementById) { return; } this.DETECT_KEY = detectKey ? detectKey : 'detectflash'; this.skipDetect = deconcept.util.getRequestParameter(this.DETECT_KEY); this.params = {}; this.variables = {}; this.attributes = []; if(swf) { this.setAttribute('swf', swf); } if(id) { this.setAttribute('id', id); } if(w) { this.setAttribute('width', w); } if(h) { this.setAttribute('height', h); } if(ver) { this.setAttribute('version', new deconcept.PlayerVersion(ver.toString().split("."))); } this.installedVer = deconcept.SWFObjectUtil.getPlayerVersion(); if (!window.opera && document.all && this.installedVer.major > 7) { // only add the onunload cleanup if the Flash Player version supports External Interface and we are in IE // fixes bug in some fp9 versions see [url="http://blog.deconcept.com/2006/07/28/swfobject-143-released/"]http://blog.deconcept.com/2006/07/28/swfobject-143-released/[/url] if (!deconcept.unloadSet) { deconcept.SWFObjectUtil.prepUnload = function() { __flash_unloadHandler = function(){}; __flash_savedUnloadHandler = function(){}; window.attachEvent("onunload", deconcept.SWFObjectUtil.cleanupSWFs); } window.attachEvent("onbeforeunload", deconcept.SWFObjectUtil.prepUnload); deconcept.unloadSet = true; } } if© { this.addParam('bgcolor', c); } var q = quality ? quality : 'high'; this.addParam('quality', q); this.setAttribute('useExpressInstall', false); this.setAttribute('doExpressInstall', false); var xir = (xiRedirectUrl) ? xiRedirectUrl : window.location; this.setAttribute('xiRedirectUrl', xir); this.setAttribute('redirectUrl', ''); if(redirectUrl) { this.setAttribute('redirectUrl', redirectUrl); } } deconcept.SWFObject.prototype = { useExpressInstall: function(path) { this.xiSWFPath = !path ? "expressinstall.swf" : path; this.setAttribute('useExpressInstall', true); }, setAttribute: function(name, value){ this.attributes[name] = value; }, getAttribute: function(name){ return this.attributes[name] || ""; }, addParam: function(name, value){ this.params[name] = value; }, getParams: function(){ return this.params; }, addVariable: function(name, value){ this.variables[name] = value; }, getVariable: function(name){ return this.variables[name] || ""; }, getVariables: function(){ return this.variables; }, getVariablePairs: function(){ var variablePairs = []; var key; var variables = this.getVariables(); for(key in variables){ variablePairs[variablePairs.length] = key +"="+ variables[key]; } return variablePairs; }, getSWFHTML: function() { var swfNode = ""; if (navigator.plugins && navigator.mimeTypes && navigator.mimeTypes.length) { // netscape plugin architecture if (this.getAttribute("doExpressInstall")) { this.addVariable("MMplayerType", "PlugIn"); this.setAttribute('swf', this.xiSWFPath); } swfNode = '<embed type="application/x-shockwave-flash" src="'+ this.getAttribute('swf') +'" width="'+ this.getAttribute('width') +'" height="'+ this.getAttribute('height') +'" style="'+ (this.getAttribute('style') || "") +'"'; swfNode += ' id="'+ this.getAttribute('id') +'" name="'+ this.getAttribute('id') +'" '; var params = this.getParams(); for(var key in params){ swfNode += [key] +'="'+ params[key] +'" '; } var pairs = this.getVariablePairs().join("&"); if (pairs.length > 0){ swfNode += 'flashvars="'+ pairs +'"'; } swfNode += '/>'; } else { // PC IE if (this.getAttribute("doExpressInstall")) { this.addVariable("MMplayerType", "ActiveX"); this.setAttribute('swf', this.xiSWFPath); } swfNode = '<object id="'+ this.getAttribute('id') +'" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" width="'+ this.getAttribute('width') +'" height="'+ this.getAttribute('height') +'" style="'+ (this.getAttribute('style') || "") +'">'; swfNode += '<param name="movie" value="'+ this.getAttribute('swf') +'" />'; var params = this.getParams(); for(var key in params) { swfNode += '<param name="'+ key +'" value="'+ params[key] +'" />'; } var pairs = this.getVariablePairs().join("&"); if(pairs.length > 0) {swfNode += '<param name="flashvars" value="'+ pairs +'" />';} swfNode += "</object>"; } return swfNode; }, write: function(elementId){ if(this.getAttribute('useExpressInstall')) { // check to see if we need to do an express install var expressInstallReqVer = new deconcept.PlayerVersion([6,0,65]); if (this.installedVer.versionIsValid(expressInstallReqVer) && !this.installedVer.versionIsValid(this.getAttribute('version'))) { this.setAttribute('doExpressInstall', true); this.addVariable("MMredirectURL", escape(this.getAttribute('xiRedirectUrl'))); document.title = document.title.slice(0, 47) + " - Flash Player Installation"; this.addVariable("MMdoctitle", document.title); } } if(this.skipDetect || this.getAttribute('doExpressInstall') || this.installedVer.versionIsValid(this.getAttribute('version'))){ var n = (typeof elementId == 'string') ? document.getElementById(elementId) : elementId; n.innerHTML = this.getSWFHTML(); return true; }else{ if(this.getAttribute('redirectUrl') != "") { document.location.replace(this.getAttribute('redirectUrl')); } } return false; } } /* ---- detection functions ---- */ deconcept.SWFObjectUtil.getPlayerVersion = function(){ var PlayerVersion = new deconcept.PlayerVersion([0,0,0]); if(navigator.plugins && navigator.mimeTypes.length){ var x = navigator.plugins["Shockwave Flash"]; if(x && x.description) { PlayerVersion = new deconcept.PlayerVersion(x.description.replace(/([a-zA-Z]|\s)+/, "").replace(/(\s+r|\s+b[0-9]+)/, ".").split(".")); } }else if (navigator.userAgent && navigator.userAgent.indexOf("Windows CE") >= 0){ // if Windows CE var axo = 1; var counter = 3; while(axo) { try { counter++; axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash."+ counter); // document.write("player v: "+ counter); PlayerVersion = new deconcept.PlayerVersion([counter,0,0]); } catch (e) { axo = null; } } } else { // Win IE (non mobile) // do minor version lookup in IE, but avoid fp6 crashing issues // see [url="http://blog.deconcept.com/2006/01/11/getvariable-setvariable-crash-internet-explorer-flash-6/"]http://blog.deconcept.com/2006/01/11/getva...plorer-flash-6/[/url] try{ var axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash.7"); }catch(e){ try { var axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash.6"); PlayerVersion = new deconcept.PlayerVersion([6,0,21]); axo.AllowScriptAccess = "always"; // error if player version < 6.0.47 (thanks to Michael Williams @ Adobe for this code) } catch(e) { if (PlayerVersion.major == 6) { return PlayerVersion; } } try { axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash"); } catch(e) {} } if (axo != null) { PlayerVersion = new deconcept.PlayerVersion(axo.GetVariable("$version").split(" ")[1].split(",")); } } return PlayerVersion; } deconcept.PlayerVersion = function(arrVersion){ this.major = arrVersion[0] != null ? parseInt(arrVersion[0]) : 0; this.minor = arrVersion[1] != null ? parseInt(arrVersion[1]) : 0; this.rev = arrVersion[2] != null ? parseInt(arrVersion[2]) : 0; } deconcept.PlayerVersion.prototype.versionIsValid = function(fv){ if(this.major < fv.major) return false; if(this.major > fv.major) return true; if(this.minor < fv.minor) return false; if(this.minor > fv.minor) return true; if(this.rev < fv.rev) return false; return true; } /* ---- get value of query string param ---- */ deconcept.util = { getRequestParameter: function(param) { var q = document.location.search || document.location.hash; if (param == null) { return q; } if(q) { var pairs = q.substring(1).split("&"); for (var i=0; i < pairs.length; i++) { if (pairs[i].substring(0, pairs[i].indexOf("=")) == param) { return pairs[i].substring((pairs[i].indexOf("=")+1)); } } } return ""; } } /* fix for video streaming bug */ deconcept.SWFObjectUtil.cleanupSWFs = function() { var objects = document.getElementsByTagName("OBJECT"); for (var i = objects.length - 1; i >= 0; i--) { objects[i].style.display = 'none'; for (var x in objects[i]) { if (typeof objects[i][x] == 'function') { objects[i][x] = function(){}; } } } } /* add document.getElementById if needed (mobile IE < 5) */ if (!document.getElementById && document.all) { document.getElementById = function(id) { return document.all[id]; }} /* add some aliases for ease of use/backwards compatibility */ var getQueryParamValue = deconcept.util.getRequestParameter; var FlashObject = deconcept.SWFObject; // for legacy support var SWFObject = deconcept.SWFObject; celui pour les png : var arVersion = navigator.appVersion.split("MSIE") var version = parseFloat(arVersion[1]) if ((version >= 5.5) && (document.body.filters)) { for(var i=0; i<document.images.length; i++) { var img = document.images[i] var imgName = img.src.toUpperCase() if (imgName.substring(imgName.length-3, imgName.length) == "PNG") { var imgID = (img.id) ? "id='" + img.id + "' " : "" var imgClass = (img.className) ? "class='" + img.className + "' " : "" var imgTitle = (img.title) ? "title='" + img.title + "' " : "title='" + img.alt + "' " var imgStyle = "display:inline-block;" + img.style.cssText if (img.align == "left") imgStyle = "float:left;" + imgStyle if (img.align == "right") imgStyle = "float:right;" + imgStyle if (img.parentElement.href) imgStyle = "cursor:hand;" + imgStyle var strNewHTML = "<span " + imgID + imgClass + imgTitle + " style=\"" + "width:" + img.width + "px; height:" + img.height + "px;" + imgStyle + ";" + "filter:progid:DXImageTransform.Microsoft.AlphaImageLoader" + "(src=\'" + img.src + "\', sizingMethod='scale');\"></span>" img.outerHTML = strNewHTML i = i-1 } } } enfin le script pour changer de css au cas où on est sur ie<7 : <!--[if lt IE 7]> <script defer type="text/javascript" src="pngfix.js"></script> <style type="text/css" media="all">@import "images/style_ie.css";</style> <![endif]-->
  2. ok merci Cygnus, j'ai fait ce que tu me conseillai (enfin je crois), mais le problème c'est que comme mes sous-sous menu sont imbriqués dans les sous menu, ils s'ouvrent en même temps que les sous menu alors que je voudrais qu'ils ne soient visibles qu'au passage de la souris sur les sous-menu. De plus, les différents sous-menu sont anormalement écartés car le navigateur ne les affiche qu'à la suite du block de sous-sous menu. à l'aide je galère !!! j'ai mis mon essai en ligne pour qu'il soit un peu plus compréhensible quand même: http://www.malt77.com/test.php
  3. ok, alors le premier niveau de sous menu doit s'afficher comme ça: http://css.alsacreations.com/xmedia/exempl...nu-vertical.htm et le second niveau (qui s'affiche au passage de la souris sur le premier sous menu) doit s'afficher comme ça: http://css.alsacreations.com/xmedia/exempl...nt/cssmenu4.htm voilà, peut être qu'il faut ajouter un deuxième javascript, je sais pas...j'attend vos propositions
  4. merci cygnus, mais ce menu ne propose qu'un décalage sur la droite, et il n'y a pas le premier sous menu qui pousse les éléments du menu principal....tu me suis ? le décalage sur la droite c'est bon pour mon sous-sous menu, mais l'originalité que je voulais donner à mon menu c'était d'afficher le sous menu à la place des titres principaux, et les sous-sous menu décalé à droite si qqun comprend ce que je cherche....
  5. Bonjour à tous, voilà je veux faire une menu déroulant à 2 niveaux (je me suis inspiré pour celà des fameux Suckerfish Dropdowns). Là où je calle c'est que je voudrai que les premiers sousmenu s'affichent en vertical (en poussant les titres principaux vers le bas) et que les sous-sousmenu eux s'affichent sur la droite du menu. Pour l'instant les sousmenu s'affichent bien en vertical mais ils cachent les titres principaux au lieu de les pousser, du coup mon menu est illisible !! Voilà si qqun peut m'aider sur ce coup là..... le code html: <ul id="menu"> <li> <a href="#">activites</a> <ul id="smenu"> <li> <a href="#">activités artistiques <img src="triangle.gif"></a> <ul id="menu"> <?php $resultat=mysql_query("select*from activites where groupe like 1",$connexion); $nb=mysql_num_rows($resultat); for ($i=0;$i<$nb;$i++) { $nom=mysql_result($resultat,$i,"nom"); $adressepage=mysql_result($resultat,$i,"adressepage"); echo "<li><a href=$adressepage>$nom</a></li>\n"; } ?> </ul> </li> <li> <a href="#">danse <img src="triangle.gif"></a> <ul id="menu"> <?php $resultat=mysql_query("select*from activites where groupe like 2",$connexion); $nb=mysql_num_rows($resultat); for ($i=0;$i<$nb;$i++) { $nom=mysql_result($resultat,$i,"nom"); $adressepage=mysql_result($resultat,$i,"adressepage"); echo "<li><a href=$adressepage>$nom</a></li>\n"; } ?> </ul> </li> <li> <a href="#">activités physiques <img src="triangle.gif"></a> <ul id="menu"> <?php $resultat=mysql_query("select*from activites where groupe like 3",$connexion); $nb=mysql_num_rows($resultat); for ($i=0;$i<$nb;$i++) { $nom=mysql_result($resultat,$i,"nom"); $adressepage=mysql_result($resultat,$i,"adressepage"); echo "<li><a href=$adressepage>$nom</a></li>\n"; } ?> </ul> </li> <li> <a href="#">activités techniques <img src="triangle.gif"></a> <ul id="menu"> <?php $resultat=mysql_query("select*from activites where groupe like 4",$connexion); $nb=mysql_num_rows($resultat); for ($i=0;$i<$nb;$i++) { $nom=mysql_result($resultat,$i,"nom"); $adressepage=mysql_result($resultat,$i,"adressepage"); echo "<li><a href=$adressepage>$nom</a></li>\n"; } ?> </ul> </li> </ul> </li> <li> <a href="#">manifestations</a> <ul id="menu"> <li><a href="actualite.php">à venir</a></li> <li><a href="archives.php">archives</a></li> </ul> </li> <li> <a href="#">cinéma</a> <ul id="menu"> <li><a href="films.php">les films du mois</a></li> <li><a href="#">films précédents</a></li> </ul> </li> <li> <a href="#">publications</a> <ul id="menu"> <li><a href="vermay.php">vermay</a></li> <li><a href="#">le jourmalt</a></li> </ul> </li> <li> <a href="#">informations</a> <ul id="menu"> <li><a href="association.php">association</a></li> <li><a href="#">inscriptions</a></li> <li><a href="contacts.php">contacts</a></li> <li><a href="acces.php">plan d'accès</a></li> <li><a href="horaires.php">heures d'ouvertures</a></li> </ul> </li> </ul> et le css: #menu, #menu ul { padding: 0; margin: 0; list-style: none; line-height: 1; } #menu a { display: block; width: 10em; text-decoration: none; color: white; font-weight: bold; font-family: Verdana, Geneva, Arial, sans-serif; } /* le menu principal */ #menu li { width: 14em; height: 30px; background: #a490de; border: 1px solid grey; } /* les sous-menus */ #menu li ul { position: absolute; width: 14em; height: 30px; left: -999em; } #menu li:hover ul { position: relative; left: auto; width: 14em; height: 30px; } #menu li:hover ul, #menu li.sfhover ul { left: auto; } /* décale le ssmenu vers la droite */ #menu li ul ul { margin: -1em 0 0 10em; } /* cache le ssmenu */ #menu li:hover ul ul, #menu li.sfhover ul ul { position: absolute; left: -999em; } /* montre le ssmenu */ #menu li:hover ul, #menu li li:hover ul, #menu li.sfhover ul, #menu li li.sfhover ul { left: auto; } là je suis vraiment bloqué alors si qqun pouvait m'aider ça serait super cool merci !!
×
×
  • Créer...