• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Wyłonanie zmiany wielkości zmiennych w CSS, po prez JS, podczas zdarzenia onClick.

Object Storage Arubacloud
0 głosów
605 wizyt
pytanie zadane 7 czerwca 2015 w JavaScript przez ShiroUmizake Nałogowiec (46,300 p.)
Jak wywołać zmianę wielkośći zmiennych zapisanych w CSS (width, height), po przez wyłowanie zdarzenia w JS(onclick). Trzeba się odwoływać klasy selektora? Z góry zaznaczam, że nie wchodzi w grę pseudoselektor active (On podmienia wygląd buttona, już wcześniej wciśniętego, ale nie zmienia wyglądu na poprzedni "po odciśnięciu").

        <style>
        .button
        {
        text-decoration:none;
        width:50px;
        height:50px;
        color:white;
        padding:10px;
        border-radius:10px;
        background-color:gray;
        border:1 px white solid;
        }
        .button:hover
        {
        text-decoration:none;
        width:50px;
        height:50px;
        color:white;
        padding:10px;
        border-radius:10px;
        background-color:black;
        border:1 px white solid;
        }
        </style>
    </head>
    <body>
                    <a class="button" id="button" href="#">Button</a>

 

<script>
var clicker  = document.getElementById("button");

clicker.onclick = function ()
    {
        clicker.style.width             =     "75px";
        clicker.style.height           =     "75px";
    
    };
</script>

PS: Wiem, że w bootstrapie jest taka funkcja.

2 odpowiedzi

–1 głos
odpowiedź 8 czerwca 2015 przez chris Gaduła (3,680 p.)
wybrane 8 czerwca 2015 przez ShiroUmizake
 
Najlepsza
.button {
wygląd normalny
}

.button:hover {
wygląd po najechaniu
}

.button:focus {
wygląd przy wciśnięciu
}

Za każdym razem wraca do klasy 'normalnej' czyt. .button

.onClick działa najlepiej na jakieś rozwijane menu (pierwszy klik otwiera, drugi zamyka), czy też zwiększanie i zmniejszanie jakiegoś pola.
+2 głosów
odpowiedź 7 czerwca 2015 przez Comandeer Guru (601,550 p.)

Najłatwiej jest zmieniać klasę tego elementu przy pomocy classList API

clicker.classList.toggle('klasa');

No i w tej klasie ustawić wszystkie własności, które chce się zmienić. To API ma też kilka innych możliwości: https://developer.mozilla.org/en-US/docs/Web/API/Element/classList Haczyk? Działa od IE 10, ale można to łatwo naprawić: http://youmightnotneedjquery.com/#toggle_class

Ogólnie nie poleca się zmieniać stylów w JS, ale zmieniać stan elementu (klasę) - daje to większe możliwości i chroni nas od sytuacji, w której lwiej części wyglądu trza szukać w JS.

Podobne pytania

0 głosów
2 odpowiedzi 752 wizyt
pytanie zadane 26 czerwca 2015 w JavaScript przez tirex Gaduła (4,430 p.)
0 głosów
1 odpowiedź 205 wizyt
pytanie zadane 5 stycznia 2016 w HTML i CSS przez primosdace Użytkownik (730 p.)
+2 głosów
2 odpowiedzi 499 wizyt
pytanie zadane 26 czerwca 2015 w Nasze projekty przez ArturB Mądrala (6,060 p.)

92,576 zapytań

141,426 odpowiedzi

319,652 komentarzy

61,961 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...