2010-12-15 121 views
0

Désolé pour cette question peut-être stupide, mais comment puis-je utiliser des virgules dans if déclarations? Ceci est la partie normale:Commandes en Javascript si déclarations?

$("a[rel*=overlay]").overlay({ 
    fixed: false, 
    closeOnClick: false, 
     onBeforeLoad: function() { 
     var wrap = this.getOverlay().find("#contentWrap"); 
     var eID = this.getTrigger().attr("id").replace(/.$/g, ''); 
     var hiURL = document.location.href; 
     var eURL = this.getTrigger().attr("href"); 
     var stateObj = { foo: "bar" }; 
     wrap.load(this.getTrigger().attr("href")); 
     window.location.hash = (eID); 
     }, 
    onClose: function() { 
     window.something(something); 
    } 
    }); 

J'ai besoin:

$("a[rel*=overlay]").overlay({ 
    fixed: false, 
    closeOnClick: false, 
     onBeforeLoad: function() { 
     var wrap = this.getOverlay().find("#contentWrap"); 
     var eID = this.getTrigger().attr("id").replace(/.$/g, ''); 
     var hiURL = document.location.href; 
     var eURL = this.getTrigger().attr("href"); 
     var stateObj = { foo: "bar" }; 
     wrap.load(this.getTrigger().attr("href")); 
     if (Modernizr.history) { 
      window.history.replaceState(currentPage, document.title, eURL); 
      }, 
      onClose: function() { 
       window.history.replaceState(currentPage, document.title, "dort"); 
     } else { 
     window.location.hash = (eID); 
     } 
     } 
    }); 

Mais le "}," montre une erreur dans dreamweaver.

+0

nous avons besoin du reste du code ci-dessus ... ce qui vous manque une partie importante ici. – CrazyDart

+1

Votre extrait de code original serait complètement brisé par lui-même. Quel code est autour de ça? –

+0

votre partie "normale" ne fonctionne pas ... –

Répondre

1

EDIT: J'ai remplacé ma réponse orig par celle-ci, ce qui rend la plupart des commentaires invalides. Au moment où j'ai posté l'auteur n'avait pas donné assez d'informations pour résoudre le problème, et j'ai eu une faute de frappe dans ma pseudo réponse.

Vous où près de l'obtenir correct, manque juste un support ...

$("a[rel*=overlay]").overlay({ 
    fixed: false, 
    closeOnClick: false, 
     onBeforeLoad: function() { 
     var wrap = this.getOverlay().find("#contentWrap"); 
     var eID = this.getTrigger().attr("id").replace(/.$/g, ''); 
     var hiURL = document.location.href; 
     var eURL = this.getTrigger().attr("href"); 
     var stateObj = { foo: "bar" }; 
     wrap.load(this.getTrigger().attr("href")); 
     if (Modernizr.history) { 
      window.history.replaceState(currentPage, document.title, eURL); 
     } // <-- Missing this one 
     }, 
     onClose: function() { 
      window.history.replaceState(currentPage, document.title, "dort"); 
     } else { 
      window.location.hash = (eID); 
     } 
     } 
    }); 
+0

'onClose: function() {' semble très faux si ce n'est pas dans le contexte d'un littéral d'objet. Et il y a encore un support à beaucoup .... certainement pas exécutable! Je me demande sérieusement qui a upvoted ceci ... –

+0

Il passerait probablement une vérification de syntaxe comme étiquette, mais oui, une parenthèse à beaucoup ... – MooGoo

+0

@MooGoo: Oui 'onClose:' passerait, mais pas la déclaration de fonction anonyme: * Uncaught SyntaxError: Jeton inattendu (* –