Le migliori pratiche per popolare un menu popup dinamico?

0

Sto creando un menu popup dinamico il cui contenuto dipende dallo stato di ciò su cui l'utente ha fatto clic. È considerata una pratica migliore per creare un menu modello in html e modificare quali opzioni sono visualizzate in javascript o per creare tutto in javascript al volo? Sto usando jQuery.

esempio di codice:

HTML:

<div id="menuTemplate" class="menu">
  <div class="opt1">Option 1</div>
  <div class="opt2">Option 2</div>
</div>
...

Javascript:

showMenu = function (state) {
  var menu = $("#menuTemplate").clone(true).removeAttr("id");
  if (state) {
    menu.find(".opt1").show();
    menu.find(".opt2").hide();
  }
  // the rest of the function
}

o

Javascript:

showMenu = function (state) {
  var menu = $("<div class='menu'></div>");
  if (state) {
    menu.append($("<div class='opt1'>Option 1</div>"));
  } else {
    menu.append($("<div class='opt2'>Option 2>/div>"));
  }
  // the rest of the function
}
    
posta stinkycheeseman 02.11.2011 - 19:12
fonte

1 risposta

2

Dipende dal requisito: se le opzioni saranno limitate, suggerirei di andare con la funzionalità show / hide, ma se in futuro questi valori richiedono una richiesta asincrona, il refactoring sarà doloroso.

Inoltre, nel secondo esempio di codice, non aggiungere l'intero html nel menu: crea un elemento div e aggiungi la classe css ad esso. In questo modo è più leggibile e mantenibile. per esempio

newdiv = document.createElement('div');
newdiv.className = 'cssClass';
menu.append(newdiv);
    
risposta data 04.11.2011 - 10:17
fonte

Leggi altre domande sui tag