{"id":1016,"date":"2023-05-06T20:59:09","date_gmt":"2023-05-06T18:59:09","guid":{"rendered":"https:\/\/piotrgabriel.pl\/wiki\/?p=1016"},"modified":"2024-10-01T08:06:13","modified_gmt":"2024-10-01T06:06:13","slug":"javascript-cz-4-tworzenie-interaktywnych-elementow-w-javascript-onhover-onclick-suwak","status":"publish","type":"post","link":"https:\/\/piotrgabriel.pl\/wiki\/javascript-cz-4-tworzenie-interaktywnych-elementow-w-javascript-onhover-onclick-suwak\/","title":{"rendered":"JavaScript cz.4 &#8211; Tworzenie interaktywnych element\u00f3w w JavaScript: onhover, onclick, suwak"},"content":{"rendered":"<p>W JavaScript mo\u017cesz \u0142atwo doda\u0107 interaktywno\u015b\u0107 do swojej strony za pomoc\u0105 zdarze\u0144 takich jak <code>onhover<\/code> (na najechanie myszk\u0105), <code>onclick<\/code> (na klikni\u0119cie), a tak\u017ce stworzy\u0107 suwaki, kt\u00f3re wp\u0142ywaj\u0105 na wygl\u0105d i zachowanie strony. W tym artykule poka\u017c\u0119 Ci, jak to zrobi\u0107.<\/p>\n<h2>1. <code>onmouseover<\/code> i <code>onmouseout<\/code>: Zmiana koloru po najechaniu myszk\u0105<\/h2>\n<p>Aby zmienia\u0107 styl elementu podczas naje\u017cd\u017cania myszk\u0105, mo\u017cemy u\u017cy\u0107 <code>onmouseover<\/code> oraz <code>onmouseout<\/code>.<\/p>\n<h4>Przyk\u0142ad:<\/h4>\n<p><code>&lt;div id=\"box\" onmouseover=\"this.style.backgroundColor='yellow'\" onmouseout=\"this.style.backgroundColor='lightblue'\" style=\"width:100px;height:100px;background-color:lightblue;\"&gt;&lt;\/div&gt;<\/code><\/p>\n<p>Gdy myszka znajdzie si\u0119 nad kwadratem, zmieni on kolor na \u017c\u00f3\u0142ty. Gdy opu\u015bci element, kolor wr\u00f3ci do niebieskiego.<\/p>\n<h2>2. <code>onclick<\/code>: Dzia\u0142anie na klikni\u0119cie<\/h2>\n<p>Najpopularniejszym zdarzeniem jest <code>onclick<\/code>, kt\u00f3re uruchamia funkcj\u0119 po klikni\u0119ciu na dany element.<\/p>\n<h4>Przyk\u0142ad:<\/h4>\n<p><code>&lt;button onclick=\"alert('Przycisk zosta\u0142 klikni\u0119ty!')\"&gt;Kliknij mnie&lt;\/button&gt;<\/code><\/p>\n<p>Po klikni\u0119ciu przycisku wy\u015bwietli si\u0119 okno dialogowe z komunikatem &#8222;Przycisk zosta\u0142 klikni\u0119ty!&#8221;.<\/p>\n<h2>3. Tworzenie suwaka (<code>&lt;input type=\"range\"&gt;<\/code>)<\/h2>\n<p>Suwak (<code>&lt;input type=\"range\"&gt;<\/code>) pozwala u\u017cytkownikowi na wyb\u00f3r warto\u015bci z danego zakresu. Mo\u017cemy u\u017cy\u0107 go, aby zmienia\u0107 np. kolor t\u0142a strony w czasie rzeczywistym.<\/p>\n<h4>Przyk\u0142ad:<\/h4>\n<p><code>&lt;input type=\"range\" id=\"suwak\" min=\"0\" max=\"255\" oninput=\"changeBackgroundColor()\"&gt;<\/code><\/p>\n<p><code>&lt;script&gt;<\/code><br \/>\n<code>function changeBackgroundColor() {<\/code><br \/>\n<code>let suwak = document.getElementById(\"suwak\").value;<\/code><br \/>\n<code>document.body.style.backgroundColor = `rgb(${suwak}, ${suwak}, ${suwak})`;<\/code><br \/>\n<code>}<\/code><br \/>\n<code>&lt;\/script&gt;<\/code><\/p>\n<p>Ten kod tworzy suwak z warto\u015bciami od 0 do 255. Funkcja <code>changeBackgroundColor()<\/code> zmienia kolor t\u0142a strony na odcienie szaro\u015bci, w zale\u017cno\u015bci od aktualnej warto\u015bci suwaka.<\/p>\n<h2>4. Przyk\u0142ad z <code>onclick<\/code> zmieniaj\u0105cym rozmiar elementu<\/h2>\n<p>Czasami chcemy, aby element na stronie zmieni\u0142 sw\u00f3j rozmiar po klikni\u0119ciu. Mo\u017cemy to zrobi\u0107 tak:<\/p>\n<p><code>&lt;div id=\"box\" style=\"width:100px;height:100px;background-color:lightblue;\"&gt;&lt;\/div&gt;<\/code><br \/>\n<code>&lt;button onclick=\"resizeBox()\"&gt;Zmie\u0144 rozmiar&lt;\/button&gt;<\/code><\/p>\n<p><code>&lt;script&gt;<\/code><br \/>\n<code>function resizeBox() {<\/code><br \/>\n<code>let box = document.getElementById(\"box\");<\/code><br \/>\n<code>box.style.width = \"200px\";<\/code><br \/>\n<code>box.style.height = \"200px\";<\/code><br \/>\n<code>}<\/code><br \/>\n<code>&lt;\/script&gt;<\/code><\/p>\n<p>Po klikni\u0119ciu przycisku element o id \u201ebox\u201d zmieni swoje wymiary na 200x200px.<\/p>\n<h2>5. Dynamiczne zmiany za pomoc\u0105 <code>oninput<\/code><\/h2>\n<p>Mo\u017cemy te\u017c tworzy\u0107 bardziej zaawansowane elementy interaktywne, np. dynamiczn\u0105 zmian\u0119 wielko\u015bci czcionki w elemencie <code>div<\/code> w zale\u017cno\u015bci od warto\u015bci suwaka.<\/p>\n<h4>Przyk\u0142ad:<\/h4>\n<p><code>&lt;input type=\"range\" id=\"fontSuwak\" min=\"10\" max=\"100\" oninput=\"changeFontSize()\"&gt;<\/code><br \/>\n<code>&lt;div id=\"text\" style=\"font-size:20px;\"&gt;Przyk\u0142adowy tekst&lt;\/div&gt;<\/code><\/p>\n<p><code>&lt;script&gt;<\/code><br \/>\n<code>function changeFontSize() {<\/code><br \/>\n<code>let fontSize = document.getElementById(\"fontSuwak\").value;<\/code><br \/>\n<code>document.getElementById(\"text\").style.fontSize = fontSize + \"px\";<\/code><br \/>\n<code>}<\/code><br \/>\n<code>&lt;\/script&gt;<\/code><\/p>\n<p>Gdy przesuwasz suwak, zmienia si\u0119 rozmiar czcionki tekstu w elemencie <code>div<\/code>.<\/p>\n<h2>Podsumowanie<\/h2>\n<p>Za pomoc\u0105 prostych zdarze\u0144, takich jak <code>onhover<\/code> (<code>onmouseover<\/code>\/<code>onmouseout<\/code>), <code>onclick<\/code>, czy suwaka (<code>input range<\/code>), mo\u017cesz \u0142atwo doda\u0107 interaktywno\u015b\u0107 do swojej strony. To \u015bwietny spos\u00f3b na uatrakcyjnienie jej wygl\u0105du i zwi\u0119kszenie zaanga\u017cowania u\u017cytkownik\u00f3w. Zach\u0119cam do eksperymentowania z tymi zdarzeniami, aby zrozumie\u0107, jak w pe\u0142ni wykorzysta\u0107 ich potencja\u0142!<\/p>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>W JavaScript mo\u017cesz \u0142atwo doda\u0107 interaktywno\u015b\u0107 do swojej strony za pomoc\u0105 zdarze\u0144 takich jak onhover (na najechanie myszk\u0105), onclick (na klikni\u0119cie), a tak\u017ce stworzy\u0107 suwaki, kt\u00f3re wp\u0142ywaj\u0105 na wygl\u0105d i zachowanie strony. W tym artykule poka\u017c\u0119 Ci, jak to zrobi\u0107. [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":260,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[44],"tags":[64],"class_list":["post-1016","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-html5-css3-javascript","tag-javascript"],"_links":{"self":[{"href":"https:\/\/piotrgabriel.pl\/wiki\/wp-json\/wp\/v2\/posts\/1016","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/piotrgabriel.pl\/wiki\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/piotrgabriel.pl\/wiki\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/piotrgabriel.pl\/wiki\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/piotrgabriel.pl\/wiki\/wp-json\/wp\/v2\/comments?post=1016"}],"version-history":[{"count":0,"href":"https:\/\/piotrgabriel.pl\/wiki\/wp-json\/wp\/v2\/posts\/1016\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/piotrgabriel.pl\/wiki\/wp-json\/wp\/v2\/media\/260"}],"wp:attachment":[{"href":"https:\/\/piotrgabriel.pl\/wiki\/wp-json\/wp\/v2\/media?parent=1016"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/piotrgabriel.pl\/wiki\/wp-json\/wp\/v2\/categories?post=1016"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/piotrgabriel.pl\/wiki\/wp-json\/wp\/v2\/tags?post=1016"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}