Wykonywanie operacji na divie

Odpowiedz Nowy wątek
2019-08-09 10:02
0

Cześć,
jak mogę zrobić, aby po naciśnięciu na diva zmieniało się jego tło, ale używając do tego this?

Pozostało 580 znaków

2019-08-09 12:59
0

A gdzie to drugie toggle wstawić? Bo faktycznie mam to class="class class".

Pozostało 580 znaków

2019-08-09 13:06
0

No dobra, a po co Tobie DRUGIE toggle wstawiać?

Może nie zrozumiałem Twojego JS'a. Chodzi o to, aby po kliknięciu w danego DIV'a zmienił on kolor na drugi a następnie po kolejnym przyciśnięciu wrócił do swojego pierwotnego?

edytowany 1x, ostatnio: leonpro778, 2019-08-09 13:06
Tak, o to chodzi. Pod Twoim postem ktoś napisał, aby dać toggle na dwie klasy. - Gouda105 2019-08-09 13:08
Możesz pokazać jak wygląda u Ciebie ten DIV ? - leonpro778 2019-08-09 13:09

Pozostało 580 znaków

2019-08-09 13:10
0
leonpro778 napisał(a):

No dobra, a po co Tobie DRUGIE toggle wstawiać?

Może nie zrozumiałem Twojego JS'a. Chodzi o to, aby po kliknięciu w danego DIV'a zmienił on kolor na drugi a następnie po kolejnym przyciśnięciu wrócił do swojego pierwotnego?

<div class="produkt" id="P1" onClick="mleko(), tlo(this.id)"> <img src="img/mleko.png"/><br/> Mleko</div>

JS:

function tlo(id)
{
    if(document.getElementById(id).classList == "produkt")
    {
        document.getElementById(id).classList.toggle("produktZ");
    }else
    {
        document.getElementById(id).classList.toggle("produkt");
    }
}
edytowany 1x, ostatnio: Gouda105, 2019-08-09 13:10

Pozostało 580 znaków

2019-08-09 13:14
0

Klasy oddzielaj po sobie spacjami, czyli:

<div class="produkt firstClass" onclick="changeColor(this);">Jakiś tekst</div>

Klasę secondClass funkcja JS sama sobie "dopisze" nadpisując klasę firstClass. Btw. Po co Ci taki kod w JS?

edytowany 2x, ostatnio: leonpro778, 2019-08-09 13:16

Pozostało 580 znaków

2019-08-09 13:19
0
leonpro778 napisał(a):

Klasy oddzielaj po sobie spacjami, czyli:

<div class="produkt firstClass" onclick="changeColor(this);">Jakiś tekst</div>

Klasę secondClass funkcja JS sama sobie "dopisze" nadpisując klasę firstClass. Btw. Po co Ci taki kod w JS?

Czyli js powinien wyglądać tak?:

function tlo(id)
{
    if(document.getElementById(id).classList == "produkt")
    {
        document.getElementById(id).classList.toggle("secondClass");
    }else
    {
        document.getElementById(id).classList.toggle("firstClass");
    }
}

Bo teraz jak wywoła else to div wygląda tak:
screenshot-20190809131933.png

Pozostało 580 znaków

2019-08-09 13:23
1

Źle, Twoja funkcja tlo(id) wygląda tylko TAK:

function tlo(id)
  {
    document.getElementById(id).classList.toggle("secondClass");
  }

Natomiast Twój DIV wygląda tak:

<div class="produkt firstClass" id="P1" onClick="mleko(); tlo(this.id)"> <img src="img/mleko.png"/><br/> Mleko</div>
edytowany 1x, ostatnio: leonpro778, 2019-08-09 13:24

Pozostało 580 znaków

2019-08-09 13:25
0
leonpro778 napisał(a):

Źle, Twoja funkcja tlo(id) wygląda tylko TAK:

function tlo(id)
  {
    document.getElementById(id).classList.toggle("secondClass");
  }

Działa! Dziękuję za poświęcony czas.

Pozostało 580 znaków

2019-08-09 13:32
0

Ale zes sie uparl na to id


01010100 01110101 01110100 01100001 01101010 00100000 01101110 01101001 01100101 00100000 01101101 01100001 00100000 01101110 01101001 01100011 00100000 01100011 01101001 01100101 01101011 01100001 01110111 01100101 01100111 01101111 00101110 00100000 01001001 01100011 00100000 01110011 01110100 01101111 01101110 01110100 00101110
edytowany 1x, ostatnio: stivens, 2019-08-09 13:32
No już jak tam miał to ID to nie chciałem zmieniać ale masz rację, ładniej wygląda z this :) No i jak tych DIV'ów będzie z 1kk to zobacz ile kb mniej :D - leonpro778 2019-08-09 13:35

Pozostało 580 znaków

Odpowiedz
Liczba odpowiedzi na stronę

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0