Creare funzione if else

Shyson

Utente Attivo
19 Ago 2012
1.179
1
38
Ora è funzionante, c'è ancora qualcosa: se apri la pag non appare la parola Carrello, appare dopo che si è aggiunto qualcosa.

Dovrebbe essere così: quando si apre la pag. deve apparire Carrello e non dev'essere cliccabile, poi quando il carrello è pieno deve apparire Vai al carrello e dev'essere cliccabile. Se si svuota il carrello deve ritornare come all'inizio.

http://www.libridelbenessere.altervista.org/
 

Altutto

Utente Attivo
30 Set 2013
262
0
16
stubborn.altervista.org
Per far apparire la parola "carrello" subito basta sostituire
Codice:
<a class="cord" href="#segnalibroOrdine" id="cordX"></a>
Con
Codice:
<a class="cord" href="#segnalibroOrdine" id="cordX">Carrello</a>

Se invece vuoi far sì che non sia cliccabile cambia il codice jquery così:
Codice:
$(document).ready(function(){
  AZZERA(); 
function controllanumero(totalequantita){
if(totalequantita>1){$("#cordX").html("<a href=\"#segnalibroOrdine\">Vai al carrello</a>");}
else{$("#cordX").html("Carrello");}
}
var numero_totale = 0; //setta questa variabile
$(".aggiungi").click(function(){
controllanumero(numero_totale);
});
});

E poi la parte in html così:
HTML:
<span class="cord" id="cordX">Carrello</span>
 

Shyson

Utente Attivo
19 Ago 2012
1.179
1
38
Ho messo così e funziona tutto, quando lo svuoto non ritorna la parola Carrello

HTML:
$(document).ready(function(){
  AZZERA(); 
function controllanumero(totalequantita){
if(totalequantita>1){$("#cordX").html("Carrello");}
else{$("#cordX").html("Vai al carrello");}
}
var numero_totale = 0; //setta questa variabile
$(".aggiungi").click(function(){
controllanumero(numero_totale);
});
});

…

<a class="cord" href="#segnalibroOrdine" id="cordX">Carrello</a>

Ci sarebbe un ultima cosa: quando appare la parola Carrello, non deve prendere l'hover
 
Ultima modifica:

Altutto

Utente Attivo
30 Set 2013
262
0
16
stubborn.altervista.org
Ho messo così e funziona tutto, quando lo svuoto non ritorna la parola Carrello
Dovrebbe? Se sì, nella funzione "Azzera" (o in quella che si occupa di svuotare il carrello) devi chiamare
Codice:
 controllanumero(0);

Ci sarebbe un ultima cosa: quando appare la parola Carrello, non deve prendere l'hover
Dovresti assegnare una classe diversa al link, specificando per quella l'azione da compiere all'hover
 

Shyson

Utente Attivo
19 Ago 2012
1.179
1
38
Così non va.

HTML:
<a class="cord" onclick="SVUOTA()">Vuota il carrello</a>

…

function SVUOTA(){
   $(".merce").each(function(){
      $(this).remove();    
   });
   controllanumero(0);
   AZZERA();
  }
 
Ultima modifica:

Altutto

Utente Attivo
30 Set 2013
262
0
16
stubborn.altervista.org
Succede perchè la funzione controllanumero viene caricata quando "document" è "ready" (quando il documento si è caricato completamente), mentre la funzione SVUOTA viene caricata immediatamente.
Inseriscila all'interno del blocco
$(document).ready();
(dopo controllanumero)
e dovrebbe funzionare :)
 

Shyson

Utente Attivo
19 Ago 2012
1.179
1
38
Non c'è $(document).ready();

HTML:
function SVUOTA(){
   $(".merce").each(function(){
      $(this).remove();
   });
   controllanumero(0);
   AZZERA();
  }
 

Altutto

Utente Attivo
30 Set 2013
262
0
16
stubborn.altervista.org
Intendevo dire di mettere quel codice che hai postato all'interno di $(document).ready():
Codice:
$(document).ready(function(){
  AZZERA(); 
function controllanumero(totalequantita){
if(totalequantita>1){$("#cordX").html("Carrello");}
else{$("#cordX").html("Vai al carrello");}
}
var numero_totale = 0; //setta questa variabile
$(".aggiungi").click(function(){
controllanumero(numero_totale);
});
function SVUOTA(){
   $(".merce").each(function(){
      $(this).remove();
   });
   controllanumero(0);
   AZZERA();
  }
});
 

Altutto

Utente Attivo
30 Set 2013
262
0
16
stubborn.altervista.org
Ora è dovuto al fatto che SVUOTA è definita dopo che viene caricato
Codice:
<div style="float: left; font-size: 0.75em; color: #999; padding-top: 2px; margin-top: 25px; margin-left: -500px; border-top: 1px solid #ccc;"><a class="cord" onclick="SVUOTA()">Vuota il carrello</a></div>


Quindi a questo punto porta fuori entrambe le funzioni:
Codice:
function controllanumero(totalequantita){
if(totalequantita>1){$("#cordX").html("Carrello");}
else{$("#cordX").html("Vai al carrello");}
}
function SVUOTA(){
   $(".merce").each(function(){
      $(this).remove();
   });
   controllanumero(0);
   AZZERA();
  }
$(document).ready(function(){
  AZZERA(); 
var numero_totale = 0; //setta questa variabile
$(".aggiungi").click(function(){
controllanumero(numero_totale);
});
});
 

Shyson

Utente Attivo
19 Ago 2012
1.179
1
38
Bene, ora funziona, ma c'è sempre il famoso problema che quando vuoto il carrello, non riappare la parola Carrello

HTML:
<a class="cord" href="#segnalibroOrdine" id="cordX">Carrello</a>
…

function controllanumero(totalequantita){
if(totalequantita>1){$("#cordX").html("Carrello");}
else{$("#cordX").html("Vai al carrello");}
}
function SVUOTA(){
   $(".merce").each(function(){
      $(this).remove();
   });
   controllanumero(0);
   AZZERA();
  }
$(document).ready(function(){
  AZZERA(); 
var numero_totale = 0; //setta questa variabile
$(".aggiungi").click(function(){
controllanumero(numero_totale);
});
});
 

Altutto

Utente Attivo
30 Set 2013
262
0
16
stubborn.altervista.org
Sostituisci
Codice:
   controllanumero(0);
Con
Codice:
   controllanumero(2);
All'interno di SVUOTA, oppure cambia così controllanumero:
Codice:
function controllanumero(totalequantita){
if(totalequantita<1){$("#cordX").html("Carrello");} //se la quantità totale è minore di 1, stampa "Carrello"
else{$("#cordX").html("Vai al carrello");} //altrimenti, stampa "Vai al carrello"
}
 

Shyson

Utente Attivo
19 Ago 2012
1.179
1
38
:fonzie: La stessa cosa devo applicarla anche al pulsante Elimina che richiama questa funzione

Codice:
 function ELIMINA(id){
   var quantita = parseInt($("#prodotto"+id+" .quantity").val());
   var valore = $("#prodotto"+id+" .subTotaleX").val();
   var valore = valore.toString(); 
   valore = valore.replace(",", ".");
   valore = parseFloat(valore);
   $("#prodotto"+id).remove();
   var totalequantita = parseInt($("#areacalcolo .totquantita").val());
   var totaleacquisto = $("#areacalcolo .totspesa").val();
   totaleacquisto = totaleacquisto.toString(); 
   totaleacquisto = totaleacquisto.replace(",", ".");
   totaleacquisto = parseFloat(totaleacquisto);
   totalequantita-=quantita;
   totaleacquisto-=valore;
   $("#areacalcolo .totquantita").val(totalequantita);
   $("#areacalcolo .totspesa").val(totaleacquisto);
   if(totalequantita==0){
    AZZERA();
   }else{
    $("#infoProdotto"+id+" .aggiunto").hide();
    $("#infoProdotto"+id+" .aggiungi").show();
    CARRELLO();
   }
  }
 

Shyson

Utente Attivo
19 Ago 2012
1.179
1
38
Per te è semplice, ma qui ci sono un sacco di righe...:crying:
 

Altutto

Utente Attivo
30 Set 2013
262
0
16
stubborn.altervista.org
Per andar sul sicuro aggiungi controllanumero subito dopo il nome della funzione:
Codice:
 function ELIMINA(id){controllanumero(numero);
   var quantita = parseInt($("#prodotto"+id+" .quantity").val());
...
:)
 

Shyson

Utente Attivo
19 Ago 2012
1.179
1
38
Funziona a metà, intendo: se inserisco nel carrello un articolo e lo vuoto col pulsante Elimina, riappare Carrello, se invece inserisco più articoli e li elimino una alla volta rimane scritto Vai al carrello, fino a quando non si arriva ad un solo articolo nel carrello. eliminando quest'ultimo riappare Carrello. Fai delle prove per capire meglio.

HTML:
controllanumero(2);

http://libridelbenessere.altervista.org/
 
Discussioni simili
Autore Titolo Forum Risposte Data
SolidSnake4 funzione mkdir per creare una directory PHP 1
S Creare un bollettino postale in html o altro linguaggio HTML e CSS 2
F Salve a tutti, devo creare un sito web/gioco online dove cliccando il tasto 'Inizia' del form viene estratta una capitale casualmente dal PHP 0
E Creare un testo trasparente dietro un div HTML e CSS 5
M Creare traccia di download file sul server HTML e CSS 2
A Cerco programmatore/sviluppatore per creare forum Offerte e Richieste di Lavoro e/o Collaborazione 3
L Creare ancore interne alla pagina PHP 1
I Creare un banner temporaneo JavaScript Javascript 0
C Creare Tabella Dati Meteo prelevandoli da dei Tags in un altro foglio PHP 27
simgia Cordova errore quando cerco di emulare o creare la app Sviluppo app per Android 2
U PHP creare un file excel dopo ricerca nel DB PHP 0
A Creare un cronometro PHP 5
G [PHP] Creare script di prenotazione con controllo disponibilità. PHP 7
F Creare elementi html con javascript Javascript 3
Shyson Modificare codice e creare link PHP 0
Cosina Creare bottone delete in form upload PHP 5
Cosina Creare bottone delete in form upload PHP 1
M Creare un campo input select quantità di un numero intero prelevato dal db PHP 3
L Creare una forma geometrica Photoshop 1
M [Cerco] aiutanti per creare sito Offerte e Richieste di Lavoro e/o Collaborazione 8
S Libreria PHP per creare file dwg o dxf PHP 0
R Come creare sistema Add to homescreen PHP 3
L Creare un countdown con giorno specifico della settimana PHP 3
W Creare link di una dato Classic ASP 0
W creare file .jar Java 2
M Creare con il Vb 2010 Il Classico Notes di Windows Vista Visual Basic 1
MarcoGrazia Creare una password Snippet Javascript 0
J creare pagina php di prenotazione PHP 5
A Creare un modulo di ricerca avanzata con dreamweaver HTML e CSS 0
INTEROPERABILITY Sviluppatrice/formatrice creare APP Offerte e Richieste di Lavoro e/o Collaborazione 0
L Creare una pagina pre-home WordPress 1
G Creare side-bar non visibile da dispositivi mobile HTML e CSS 0
L creare oggetti da una classe tramite un form Javascript 0
Web93 CREARE SITO WEB COMICS CON WORDPRESS WordPress 0
maxnegri Contare sessioni aperte e creare condizione PHP 1
A Come creare pulsante donazione PayPal HTML e CSS 5
L [CERCO] Creare blog su WordPress con tema Divi Offerte e Richieste di Lavoro e/o Collaborazione 3
F Creare un set di date a seconda del frazionamento scelto da inserire in MySQL PHP 6
R [Photoshop] Creare Azione Photoshop 1
F [PHP] creare tabella e tasto cerca PHP 3
A Creare con Javascript un percorso all'interno di uno spazio Javascript 0
B [PHP] Creare PDF dopo inserimento dati form PHP 4
A [HTML] Creare sito web per eLearnig HTML e CSS 2
R Bootstrap 4 - creare una finestra di testo responsive sopra un Carousel jQuery 1
Spenalzo Creare tabelle multiple con Access via VBA MS Access 2
R [PHP] Creare sistema random PHP 3
D [PHP] Consigli su come creare form PHP 1
I Creare Qsl radioamatore con testo editabile Presentati al Forum 1
T [PHP] Creare Honeypot per form contatti PHP 10
S [PHP] Creare collegamento filtri di ricerca al database PHP 6

Discussioni simili