-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathmain.js
115 lines (94 loc) · 3.14 KB
/
main.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
// هنجيبب الصور
let sliderImages = Array.from(document.querySelectorAll('.slider-container img'));
// هنجيب عدد الصور
let slidesCount = sliderImages.length;
// هنبدا من اول صوره
let currentSlide = 1;
// هنجيب المكان الي بنكتب فيه رقم الصوره الحالية
let slideNumberElement = document.getElementById('slide-number');
// زرار التالي والسابق
let prevButton = document.getElementById('prev');
let nextButton = document.getElementById('next');
// تفعيل الكليك لزرار التالي والسابق
prevButton.onclick = prevSlide;
nextButton.onclick = nextSlide;
// انشاء قائمه لوضع ليسته بارقام الصور بها
let ulElment = document.createElement('ul');
ulElment.setAttribute('id','ulElement');
// انشاء ليسته بعدد الصور
for(let i = 1; i <= slidesCount; i++){
// انشاء عنصر
let liItems = document.createElement('li');
// هنضيف للعنصر خاصيه لتمييزه
liItems.setAttribute('data-index',i);
// هنضيف للعنصر رقمه
liItems.appendChild(document.createTextNode(i));
// هنضيف العنصر للقائمه الاب
ulElment.appendChild(liItems);
}
//اضافه القايمه في الصفحه
document.getElementById('indicators').appendChild(ulElment);
let allLiItems = Array.from(document.querySelectorAll('#ulElement li'));
for (let i = 0; i < allLiItems.length; i++){
allLiItems[i].onclick = function () {
currentSlide = parseInt(this.getAttribute('data-index'));
checker();
}
}
function checker(){
removeActive();
// كتابه رقم الصوره الحاليه من التوتال
slideNumberElement.textContent = `${currentSlide} of ${slidesCount}`;
// بنضيف كلاس للصوره الحاليه علشان تظهر
sliderImages[currentSlide -1].classList.add('active');
//
ulElment.children[currentSlide -1].classList.add('active');
if(currentSlide == 1){
//
prevButton.classList.add('disabled');
}else{
prevButton.classList.remove('disabled');
}
if(currentSlide == slidesCount){
nextButton.classList.add('disabled');
}else{
nextButton.classList.remove('disabled');
}
}
// فانكشن لازاله كل الاكتيف من العناصر
function removeActive(){
sliderImages.forEach(image => {
image.classList.remove('active');
});
allLiItems.forEach(li => {
li.classList.remove('active');
});
}
// فانكشن لعرض التاليه
function nextSlide(){
if (nextButton.classList.contains('disabled')) {
return false;
} else {
currentSlide++;
checker();
}
}
// فانكشن لعرض السابقه
function prevSlide(){
if (prevButton.classList.contains('disabled')) {
return false;
} else {
currentSlide--;
checker();
}
}
checker();
setInterval(() => {
if(nextButton.classList.contains('disabled')){
currentSlide = 1;
checker();
}else{
currentSlide++;
checker();
}
},5000);