Visualizzazione dei risultati da 1 a 4 su 4
  1. #1
    Utente di HTML.it
    Registrato dal
    Jan 2012
    Messaggi
    154

    [jQuery] Toggle senza toggle button

    Ciao ragazzi,
    avrei bisogno di switchare colore di sfondo di un div cliccando sul div stesso. Avevo pensato a una cosa del genere:

    codice:
    function like(post)
    {
    	if ($(this).hasClass('positive'))
    {
        $(this).removeClass('positive');
        $(this).addClass('negative');
    }
    else
    {
         $(this).removeClass('negative');
         $(this).addClass('positive');
    }
    
    var dati = "post_id=" + post ;
    	$.ajax({
    		type: 'POST',
    		url: 'k.php',
    		data: dati,
    		succes: function(){update();},
    		error: function(){alert("There was a problem. Retry later")}
    	});
    }
    Ma non funziona.. Avete altre idee per risolvere il problema? :/ Grazie
    Mess with the best die like the rest.

  2. #2
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    Scusa ma this si usa quando sei dentro un oggetto come l'hai scritto tu credo che si riferisca a window, forse cosi funziona (sempre che $('.positive').hasClass('positive') restituisca true)
    if ($('.positive').hasClass('positive'))
    {
    $('.positive').removeClass('positive').addClass('n egative');
    }
    else
    {
    $('.negative').removeClass('negative').addClass('p ositive');
    }
    ma forse puoi usare toggleClass http://api.jquery.com/toggleClass/
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  3. #3
    Utente di HTML.it
    Registrato dal
    Jan 2012
    Messaggi
    154
    Nope non credo perché esistono più post e quindi il $('.positive') non sarebbe univoco :/
    Mess with the best die like the rest.

  4. #4
    Utente di HTML.it
    Registrato dal
    Jan 2012
    Messaggi
    154
    Ho fatto così e dovrebbe funzionare solo che invece aspetta la richiesta in ajax per aggiornare io invece vorrei fare che cambia classe senza aspettare la risposta del server..
    codice:
    function like(post)
    {
    	var questo = "div[name='like"+post+"']";
    	if ($(questo).hasClass('positive'))
    	{
        $(questo).removeClass('positive');
        $(questo).addClass('negative');
    }
    else
    {
         $(questo).removeClass('negative');
         $(questo).addClass('positive');
    }
    var dati = "post_id=" + post + "&person_id=" + "<?php echo $_COOKIE['id'] ?>";
    var current_profile = '<?php echo $_GET['id']; ?>';
    var dati1 = "id=" + current_profile;
    	$.ajax({
    		type: 'POST',
    		url: 'k.php',
    		data: dati,
    		succes: function(){
    	    $.ajax({
      	    type: 'GET',
      	    url: 'stampa.php',
    	    data: dati1,
            success: function(ok) {$("#tuttiipost").html(ok)}});},
    		error: function(){alert("There was a problem. Retry later")}
    	});
    }
    Mess with the best die like the rest.

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.