Visualizzazione dei risultati da 1 a 2 su 2
  1. #1
    Utente di HTML.it
    Registrato dal
    Jun 2012
    Messaggi
    15

    jquery problema if-else e background-image

    Ciao a tutti.
    Premetto che sono ancora un principiante XD
    Sto sbattendo da un po la testa su una cosa che non riesco a fare...

    Ecco la pagina di prova: http://provapersimone.altervista.org/

    Ci sono due pulsanti.Tre e special.Ho fatto in modo che con jquery cliccando il pulsante viene mostrata la relativa immagine.Le due immagini sono tre.jpg e specil.jpg.
    L'immagine di default non verrà più visualizzata.
    Sotto cè un pulsante che si chiama Up.
    Ora.
    Dovrebbe succedere questo:
    Se clicco uno dei due pulsanti sopra l'immagine cambia.E fin qui ci siamo.

    Quando clicco Up: Se nel div immagine è presente l'immagine tre.jpg sostituiscila con special.jpg
    altrimenti sostituisci l'immagine con tre.jpg (perchè è logico che sarebbe presente special.jpg)

    ora posto tutte le pagine spero che non sia un errore banale XD
    Premetto che ho provato in più modi ma nulla.Ora funziona solo la seconda fase ma se l'immagine è tre.jpg non la sostituisce.

    XHTML:

    <body>
    <div id="uno" class="prova"> tre </div>
    <div id="due" class="prova"> special </div>
    <div id="immagine"> </div>
    <div id="bottone"> up </div>
    </body>

    CSS:

    .prova {
    height: 50px;
    width: 100px;
    background-color: #09C;
    margin: 10px 0 0 70px;
    }
    #immagine {
    height: 200px;
    width: 200px;
    background-image: url(default.jpg);
    margin: 20px 0 0 20px;
    }
    #bottone {
    height: 50px;
    width: 150px;
    background-color: #0FF;
    margin: 10px 0 0 45px;
    }

    JQUERY:

    $(document).ready(function(){

    $('#uno a').click(function(){
    $('#immagine').css('background-image','url(tre.jpg)');
    });
    $('#due a').click(function(){
    $('#immagine').css('background-image','url(special.jpg)');
    });

    $('#bottone').click(function(){
    $Uno = $('#immagine').css('background-image');
    $Due = 'url(tre.jpg)';
    if($Uno == $Due){
    $('#immagine').css('background-image','url(special.jpg)');
    }
    else{$('#immagine').css('background-image','url(tre.jpg)');
    };
    });
    });



    Avevo anche provato un altra alternativa:


    $('#bottone').click(function(){
    $Uno = $('#immagine').css('background-image');

    if($Uno == 'url(special.jpg)'){
    $('#immagine').css('background-image','url(special.jpg)');
    }
    else{$('#immagine').css('background-image','url(tre.jpg)');
    };

    Non funziona in nessuno dei due casi.
    Io,per quanto ne possa sapere (o meglio non sapere) credo che ci sia qualche errore nell'assegnazione della variabile o nell'uguaglianza delle 2 variabili.
    Ringrazio tutti in anticipo.

  2. #2
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    Il problema dovrebbe essere qui:
    $Uno = $('#immagine').css('background-image');
    $Due = 'url(tre.jpg)';
    cambia $Due = 'tre.jpg';
    Nel caso non funzionasse inserisci degli alert per vedere gli step della funzione
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.