|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Senior Member
Iscritto dal: Apr 2009
Città: Aci Catena (CT)
Messaggi: 1021
|
[JS] Passare un array ed effettuare la somma degli elementi
Salve a tutti,
ho una lista di DIV dei quali sto prendendo la rispettiva altezza e vorrei sommarla. Visto che è un'operazione che dovrei ripetere diverse volte vorrei creare una funzione, ma non c'è qualcosa che non va: Codice:
HeightDataTables = function (divList)
{
var sumDiv = 0
for (i = 0; i < divList.length; i++) {
sumDiv += $(divList[i]).outerHeight(true);
}
alert(sumDiv);
return $(window).height() - sumDiv;
}
var divList = ["header", "#pageTitle"]
alert(HeightDataTables(divList));
Grazie. |
|
|
|
|
|
#2 |
|
Senior Member
Iscritto dal: Nov 2010
Città: Londra
Messaggi: 620
|
1- consiglio di usare jsfiddle.net per farsi aiutare, solo il codice postato così non dice molto.
2- se puoi utilizza sempre JSHint come linter che ti dice se ci sono errori nel codice o bad practise (nel tuo mancano 3 semicolon per esempio) http://jsfiddle.net/54w8A/ (pulsante tidyup in jsfiddle) 3- da quel che mi pare di capire nel tuo codice potresti utilizzare un approccio diverso invece che avere una divList utilizza una classe che metti in tutti i div che ti interessa eseguire quella funzione. |
|
|
|
|
|
#3 |
|
Senior Member
Iscritto dal: Sep 2001
Città: Pisa
Messaggi: 2213
|
se hai quell'errore molto probabilmente nel punto in cui richiami la funzione essa non è visibile, o la stai chiamando sull'oggetto sbagliato
__________________
9800X3D | 32GB DDR5 6400C30@TUNED | RTX 4090 | LG 32GQ950-B | Fractal Torrent | NZXT C1200W | Iliad Fibra 5Gb |
|
|
|
|
|
#4 |
|
Senior Member
Iscritto dal: Apr 2009
Città: Aci Catena (CT)
Messaggi: 1021
|
Buon dì a tutti!
Sapete dov'era l'errore? Proprio nella definizione dell'ARRAY, una svita che mi ha fatto perdere un pò di tempo! Codice:
var divList = new Array("header", "pageTitle")
Grazie a tutti. PS. OoZic concordo per l'utilizzo di JsFiddle, la prossima volta posterò direttamente il codice lì. |
|
|
|
|
|
#5 |
|
Senior Member
Iscritto dal: Nov 2010
Città: Londra
Messaggi: 620
|
ti consiglio vivamente di inizializzare un array utilizzando le parentesi quadre
var divList = ["header","pagTitle"]; |
|
|
|
|
|
#6 |
|
Senior Member
Iscritto dal: Apr 2009
Città: Aci Catena (CT)
Messaggi: 1021
|
E' errato inizializzarla in quel modo?
|
|
|
|
|
|
#7 |
|
Senior Member
Iscritto dal: Feb 2004
Città: milano
Messaggi: 2148
|
Non è sbagliato ma in casi più complessi se non si sta attenti si possono commettere errori (push, pop, lenght ecc.).
Poi la notazione literal, cioè [], è più veloce della new array(). CIao |
|
|
|
|
|
#8 |
|
Senior Member
Iscritto dal: Apr 2009
Città: Aci Catena (CT)
Messaggi: 1021
|
Ottimo, grazie!
|
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 22:50.


















