Skip to content

Commit 56afe0e

Browse files
committed
ders-6
1 parent 90b6ef7 commit 56afe0e

File tree

3 files changed

+396
-0
lines changed

3 files changed

+396
-0
lines changed

ders-5-6/index.html

+70
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,70 @@
1+
<!DOCTYPE html>
2+
<html lang="en">
3+
<head>
4+
<meta charset="UTF-8" />
5+
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
6+
<title>Ders-5</title>
7+
<!-- * Css Link -->
8+
<link rel="stylesheet" href="style.css" />
9+
</head>
10+
<body>
11+
<h1 class="title-1">Udemig Akademi</h1>
12+
<h1 id="title-2">Udemig Akademi</h1>
13+
14+
<h3 class="title-3">Javascript Dersi</h3>
15+
16+
<h4 id="title-4">DOM Manipülasyonları</h4>
17+
18+
<a id="udemig" href="https://udemig.com/">Udemig sitesine git</a>
19+
20+
<br /><br /><br />
21+
22+
<button class="add-style">Still Ekle</button>
23+
24+
<br /><br /><br />
25+
26+
<div id="wrapper">Örnek</div>
27+
28+
<br /><br /><br /><br />
29+
<button id="btn" class="btn">Button</button>
30+
31+
<br /><br /><br /><br /><br />
32+
33+
<button id="give-alert">Uyarı Ver</button>
34+
35+
<div
36+
class="area"
37+
onmouseenter="alert('Mouse burada')"
38+
onmouseleave="alert('Mouse gitti')"
39+
>
40+
addEventListener Örneği
41+
</div>
42+
43+
<button id="drag-btn" draggable="true">Sürükle</button>
44+
45+
<br /><br /><br /><br />
46+
47+
<!-- todo: Bir tane buton oluşturun.Bu butona tıklanınca bir elemana class ekleyip çıkarsın. -->
48+
49+
<button class="theme-btn">Class Ekle</button>
50+
51+
<div id="example-wrapper">Class Eklenecek Eleman</div>
52+
53+
<form class="user-form">
54+
<h1>Kullanıcı Formu</h1>
55+
<input type="text" />
56+
<input type="password" />
57+
58+
<button type="submit">Gönder</button>
59+
</form>
60+
61+
<button id="create-btn">Yeni Div Oluştur</button>
62+
63+
<div class="kapsayıcı"></div>
64+
65+
<div class="resim-kapsayıcısı"></div>
66+
67+
<!-- * Js Bağlantı -->
68+
<script src="./main.js"></script>
69+
</body>
70+
</html>

ders-5-6/main.js

+218
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,218 @@
1+
// todo: haftagün adındaki bir değişkenin alacağı değer bir haftanın hangi gününe karşılık geliyorsa bunu yazdıran bir code-script yazınız [1 ise pazartesi,2 salı,...]
2+
3+
var haftagün = 4;
4+
5+
// switch (haftagün) {
6+
// case 1:
7+
// document.write("Pazartesi", "<br/>"); // haftagün değişkeninin değeri 1 ise
8+
// break;
9+
// case 2:
10+
// document.write("Salı", "<br/>"); // haftagün değişkeninin değeri 2 ise
11+
// break;
12+
// case 3:
13+
// document.write("Çarşamba", "<br/>"); // haftagün değişkeninin değeri 3 ise
14+
// break;
15+
// case 4:
16+
// document.write("Perşembe", "<br/>"); // haftagün değişkeninin değeri 4 ise
17+
// break;
18+
// case 5:
19+
// document.write("Cuma", "<br/>"); // haftagün değişkeninin değeri 5 ise
20+
// break;
21+
// case 6:
22+
// document.write("Cumartesi", "<br/>"); // haftagün değişkeninin değeri 6 ise
23+
// break;
24+
// case 7:
25+
// document.write("Pazar", "<br/>"); // haftagün değişkeninin değeri 7 ise
26+
// break;
27+
// default:
28+
// document.write("Tanımsız gün !!", "<br/>"); // haftagün değişkeninin değeri 1-7 arasında değilse
29+
// }
30+
31+
// switch-case yapısı bir değişkenin alacağı değerlere göre işlem yapmak için kullanılır.switch(){} yapısında () içerisinde kontrol edilecek değişkenin adı yazılır.Bu değişkenin alacağı değeler ise case 'değer' ile kontrol edilir.case karşılık gelen değer : dan sonra yazılır.
32+
33+
// * DOM (Document Object Modal) Manipülasyonları
34+
35+
// Javascript'de Html arayüzündeki elemanlara erişmek ve bu elemanlar üzerinde manipülasyonlar yapmamızı sağlayan yapıya DOM denir.
36+
37+
// Bir elemana javascript kısmından erişerek müdahelede bulunmak için ilk olarak bu elemanı js kısmına çekmemiz gerekir.Html'den js'e eleman çekerken şu metotlar kullanılır.
38+
39+
// * 1-)document.getElementsByTagName():Html'deki elemanlara etiket adına göre erişmek için kullanılır.() içerisinde hangi elemana erişmek istiyorsak bunun etiket adını yazmamız gerekir.Bu sayede bu metot html'deki elemanı javascript kısmına çeker.
40+
41+
var başlık1 = document.getElementsByTagName("h1");
42+
43+
var link1 = document.getElementsByTagName("a");
44+
45+
// console.log(başlık1);
46+
// console.log(link1);
47+
48+
// * 2-)document.getElementsByClassName():Html'deki elemanlara class adına göre erişmek için kullanılır.() içerisinde hangi elemana erişmek istiyorsak bunun class adını yazarak bu elemana js kısmında erişebiliriz.
49+
50+
var başlık2 = document.getElementsByClassName("title-1");
51+
52+
// console.log(başlık2);
53+
54+
// * 3-)document.getElementsById():
55+
56+
var başlık3 = document.getElementById("title-2");
57+
58+
// console.log(başlık3);
59+
60+
// * 4-) document.querySelector(): Bu metot yukarıda sayılan üç metodun işlevini tek başına yapabilir.Yani elemanlara class adına,id'sine veya tag (etiket) adına göre erişmek için kullanılır.
61+
62+
// ! Not: document.querySelector() ile elemanlara erişirken erişilecek eleman bir class ise document.querySelector() buradaki () içerisinde class adının başına .; id ise document.querySelector() buradaki () içerisinde başına # işareti konulmalıdır.Aksi halde istenilen elemana erişemeyiz.
63+
64+
var başlık4 = document.querySelector(".title-3");
65+
66+
// console.log(başlık4);
67+
68+
var başlık5 = document.querySelector("#title-4");
69+
70+
// console.log(başlık5);
71+
72+
// Html'den Javascript kısmına çekilen elemanlara still özellikleri verme:
73+
74+
// başlık5.style.backgroundColor = "red";
75+
76+
// başlık5.style.fontSize = "44px";
77+
78+
// başlık5.style.padding = "10px";
79+
80+
// başlık5.style.borderRadius = "5px";
81+
82+
// ! Html'den js e çekilen elemanlara still özellikleri yukarıda gibi verilebilir.Fakat bunu yapmak hem otomatik tamamlamaması hemde alacağı değerleri (eğer renk özelliği verilecekse kırmız,mavi,... ) bize sunmamasından dolayı bizi zorlar.Bizde bunu ilgili elemana css dosyasında oluşturduğumuz classı ekeleyerek yaparız.
83+
84+
// Bir elemana javascript'den class ile ilgili işlemler yapmak için classList özelliği kullanılır.
85+
86+
// * classList.add() ==> Bir elemana class eklemek için kullanılır.() içerisinde verilecek class adı yazılır.
87+
88+
başlık5.classList.add("başlık5");
89+
90+
var link = document.querySelector("#udemig");
91+
92+
// console.log(link);
93+
94+
link.classList.add("link");
95+
96+
var button = document.querySelector("#btn");
97+
98+
// * classList.remove() ==> Bir elemana verilen classı çıkarmak için kullanılır.() içerisinde yazılan classı elemandan kaldırır.
99+
100+
button.classList.remove("btn");
101+
102+
// todo: add-style butonuna tıklanınca aşağıdaki div'e class ekleyen ve çıkaran bir örnek yapınız.
103+
104+
var addStyleBtn = document.querySelector(".add-style");
105+
var wrapper = document.querySelector("#wrapper");
106+
107+
// * classList.toggle ==> Bir elemanda bir class varsa bunu kaldırır yoksa bunu ekler
108+
addStyleBtn.addEventListener("click", function () {
109+
wrapper.classList.toggle("example");
110+
});
111+
112+
// * DOM Olay İzleyicileri (addEventListener):
113+
114+
// Bir eleman üzerinde bir olay gerçekleştiğinde (tıklanma,sürüklenme,formun gönderilmesi,...) bir işlev yapabilmemizi sağlayan yapılara olay izleyicileri denir.Olay izleyicileri bizden iki şey ister:
115+
116+
// 1-) Hangi olayın gerçekleşeceği
117+
118+
// 2-) Bu olay gerçekleşince ne yapılacağı
119+
120+
// ? Örnek: Uyarı Ver butonuna tıklanıca bir alert tetikleyiniz.
121+
122+
// Butonu Js kısmına çek
123+
var alertBtn = document.querySelector("#give-alert");
124+
125+
// console.log(alertBtn);
126+
127+
// Butona bir olay izleyicisi eklemek
128+
129+
alertBtn.addEventListener("click", function () {
130+
alert("Uyarı butonuna tıklandı");
131+
});
132+
133+
var dragBtn = document.querySelector("#drag-btn");
134+
135+
dragBtn.addEventListener("dragstart", function () {
136+
// Buton sürüklenmeye başlayınca çalışacak fonksiyon
137+
console.log("Sürüklenme başladı");
138+
});
139+
140+
dragBtn.addEventListener("dragend", function () {
141+
// Butonun sürüklenmesi bitince çalışacak fonksiyon
142+
console.log("Sürüklenme bitti");
143+
});
144+
145+
// todo: Class ekle-çıkar örneği
146+
147+
// Html'den elemanlara eriş
148+
var themeBtn = document.querySelector(".theme-btn");
149+
var exampleWrapper = document.querySelector("#example-wrapper");
150+
151+
// Butona tıklanınca wrapper'a class ekle
152+
153+
themeBtn.addEventListener("click", function () {
154+
// Butona class ekleyip çıkarsın
155+
exampleWrapper.classList.toggle("bg-color");
156+
});
157+
158+
// todo: Form gönderildiğinde inputlardaki değerlerer erişme
159+
160+
var form = document.querySelector("form");
161+
162+
form.addEventListener("submit", function (event) {
163+
// Sayfa yenilemesini engelle
164+
event.preventDefault();
165+
166+
// Form gönderildiğinde dışarıdan event adından bir parametre alır.Bu parametre içerisinde bulunan target attribute'ü sayesinde formun içerisindeki elemanlara erişebiliriz.
167+
168+
// Input'un değerine 'value' ile erişilir.
169+
170+
// ! Yani form gönderildiğinde event.target.value ile birlikte formun içerisindeki inputların değerine erişebiliriz.
171+
172+
console.log(event.target[0].value);
173+
console.log(event.target[1].value);
174+
175+
// Inputların içerisini sıfırla
176+
event.target[0].value = "";
177+
event.target[1].value = "";
178+
});
179+
180+
// todo: Kullanıcı bir oluştur butonuna tıklayınca altındaki eleman içerisine yeni divler oluşturan bir örnek yapınız.
181+
182+
// Buton ve kapsayıcıyı Html'den js e çek
183+
var createBtn = document.querySelector("#create-btn");
184+
185+
var kapsayıcı = document.querySelector(".kapsayıcı");
186+
187+
// console.log(createBtn);
188+
189+
// console.log(kapsayıcı);
190+
191+
// Butona tıklanınca eleman oluşturan bir fonksiyon yaz
192+
193+
createBtn.addEventListener("click", function () {
194+
// Bir eleman oluştur
195+
// * document.createElement() ==> Javascript kısmında html elemanı oluşturmak için kullanılır.Bu metot hangi elemanın oluşturulacağını () içerisinde yazmamızı ister.
196+
var yeniDiv = document.createElement("div");
197+
198+
// Bir elemanın yazı içeriğini belirle
199+
// * innerText ==> Javascript kısmında bir html elemanın yazı içeriğini belirlemek için kullanılır.
200+
201+
yeniDiv.innerText = "Yeni Div";
202+
203+
// Oluşturulan elemana bir class ekle
204+
yeniDiv.classList.add("new-eleman");
205+
206+
// Oluşturulan bu elemanı html'deki kapsayıcı classına sahip eleman içerisine aktar
207+
// * appendChild() ==> Bir html elemanı içerisine başka bir eleman eklemek için kullanılır.
208+
209+
kapsayıcı.appendChild(yeniDiv);
210+
});
211+
212+
// resim-kapsayıcısı elemanın içerisine bir resim ekle
213+
214+
var resimKapsayıcısı = document.querySelector(".resim-kapsayıcısı");
215+
216+
// * Bir elemanın Html içeriğini belirlemek için innerHTML kullanılır.
217+
218+
resimKapsayıcısı.innerHTML = "<img src='https://picsum.photos/200'/>";

ders-5-6/style.css

+108
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,108 @@
1+
.başlık5 {
2+
background-color: red;
3+
font-size: 44px;
4+
padding: 10px;
5+
border-radius: 5px;
6+
}
7+
8+
.link {
9+
text-decoration: none;
10+
font-size: 20px;
11+
background-color: aqua;
12+
border: 4px solid gray;
13+
padding: 10px;
14+
}
15+
16+
.btn {
17+
border: none;
18+
outline: none;
19+
padding: 8px 20px;
20+
font-size: 15px;
21+
font-weight: bold;
22+
border-radius: 10px;
23+
background-color: green;
24+
}
25+
26+
.area {
27+
background-color: burlywood;
28+
margin: 20px 30px;
29+
padding: 10px;
30+
width: 400px;
31+
text-align: center;
32+
font-size: 20px;
33+
font-weight: bold;
34+
border-radius: 10px;
35+
cursor: pointer;
36+
}
37+
38+
.example {
39+
background-color: chocolate;
40+
padding: 20px;
41+
font-size: 30px;
42+
font-weight: bold;
43+
}
44+
45+
#example-wrapper {
46+
border: 5px solid gray;
47+
margin-top: 30px;
48+
padding: 20px;
49+
font-size: 30px;
50+
}
51+
52+
.bg-color {
53+
background-color: red;
54+
}
55+
56+
.user-form {
57+
display: flex;
58+
flex-direction: column;
59+
gap: 10px;
60+
border: 3px solid gray;
61+
margin-top: 50px;
62+
max-width: 400px;
63+
padding: 20px;
64+
}
65+
.user-form h1 {
66+
text-align: center;
67+
font-size: 25px;
68+
font-weight: bold;
69+
}
70+
71+
.user-form input {
72+
padding: 5px;
73+
border-radius: 5px;
74+
border: 1px solid black;
75+
}
76+
77+
.user-form button {
78+
padding: 5px;
79+
background-color: aqua;
80+
border: none;
81+
border-radius: 5px;
82+
}
83+
84+
#create-btn {
85+
padding: 10px;
86+
margin-top: 50px;
87+
background-color: green;
88+
color: white;
89+
border: none;
90+
font-size: 20px;
91+
border-radius: 10px;
92+
}
93+
94+
.kapsayıcı {
95+
width: 500px;
96+
height: 500px;
97+
background-color: lightcoral;
98+
margin-top: 20px;
99+
padding: 10px;
100+
}
101+
102+
.new-eleman {
103+
text-align: center;
104+
border: 1px solid gray;
105+
margin: 10px;
106+
font-size: 20px;
107+
background-color: white;
108+
}

0 commit comments

Comments
 (0)