Skip to content

Commit

Permalink
fix gallery
Browse files Browse the repository at this point in the history
  • Loading branch information
Yaroslav0102030405 committed Feb 13, 2024
1 parent 9d3e071 commit 5b0d72a
Show file tree
Hide file tree
Showing 5 changed files with 198 additions and 85 deletions.
31 changes: 13 additions & 18 deletions care/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -1085,41 +1085,41 @@ <h2>Find a Doctor near you</h2>
alt="doctor one"
/>
</li>
<li>
<li class="gallery__card">
<img
class="gallery__card gallery__image"
class="gallery__image"
src="./src/image/doctor2.jpg"
width="350"
alt="doctor two"
/>
</li>
<li>
<li class="gallery__card">
<img
class="gallery__card gallery__image"
class="gallery__image"
src="./src/image/doctor3.jpg"
width="350"
alt="doctor three"
/>
</li>
<li>
<li class="gallery__card">
<img
class="gallery__card gallery__image"
class="gallery__image"
src="./src/image/doctor4.jpg"
width="350"
alt="doctor four"
/>
</li>
<li>
<li class="gallery__card">
<img
class="gallery__card gallery__image"
class="gallery__image"
src="./src/image/doctor5.jpg"
width="350"
alt="doctor five"
/>
</li>
<li>
<li class="gallery__card">
<img
class="gallery__card gallery__image"
class="gallery__image"
src="./src/image/doctor6.jpg"
width="350"
alt="doctor six"
Expand All @@ -1129,16 +1129,11 @@ <h2>Find a Doctor near you</h2>

<div class="slider hidden">
<div class="slider__container">
<button type="button" class="slider__btn slider__left">
Prev
</button>
<button type="button" class="slider__btn slider__right">
Next
</button>
<button class="slider__btn slider__btn-left">Prev</button>
<button class="slider__btn slider__btn-right">Next</button>
</div>
<button type="button">CLOSE</button>
<button class="slider__btn-close">CLOSE</button>
</div>
<!-- </div> -->

<div class="form">
<form class="form-wapper">
Expand Down
137 changes: 104 additions & 33 deletions care/src/js/gallery.js
Original file line number Diff line number Diff line change
@@ -1,44 +1,115 @@
const openModal = document.querySelector(".js-open-gallery");
// const closeModal = document.querySelector(".js-close-gallery");
const backdropJs = document.querySelector(".js-backdrop-gallery");
// const openModal = document.querySelector(".js-open-gallery");
// // const closeModal = document.querySelector(".js-close-gallery");
// const backdropJs = document.querySelector(".js-backdrop-gallery");

// Зробили клік на ссилку через деоегування подій
const link = document.querySelector(".gallery");
// // Зробили клік на ссилку через деоегування подій
// const link = document.querySelector(".gallery");

openModal.addEventListener("click", onOpenModal);
// closeModal.addEventListener("click", onCloseModal);
backdropJs.addEventListener("click", onBackdropClick);
// openModal.addEventListener("click", onOpenModal);
// // closeModal.addEventListener("click", onCloseModal);
// backdropJs.addEventListener("click", onBackdropClick);

link.addEventListener("click", onCloseLinkClick);
// link.addEventListener("click", onCloseLinkClick);

function onOpenModal() {
// backdropJs.classList.toggle("is-open");
document.body.classList.add("show-modal-2");
document.body.classList.add("is-hidden");
}
// function onOpenModal() {
// // backdropJs.classList.toggle("is-open");
// document.body.classList.add("show-modal-2");
// document.body.classList.add("is-hidden");
// }

// function onCloseModal() {
// document.body.classList.remove("is-hidden");
// // backdropJs.classList.toggle("is-open");
// document.body.classList.remove("show-modal-2");
// }

// function onBackdropClick(event) {
// if (event.currentTarget === event.target) {
// onCloseModal();
// }
// }

// function onCloseLinkClick(event) {
// if (event.target.nodeName === "IMG") {
// // console.log(event.target.nodeName);
// // onCloseModal();
// onOpenModal();
// }
// }

// function onEscKeyPress(event) {
// if (event.code === "Escape") {
// onCloseModal();
// }
// }

// Шаги логики
// 1 Получить ссылку на карточки на слайдер на кнопки
// 2 Перебарть циклом вор всю коллекцию чтобы получить доступ и повесить на них клик

function onCloseModal() {
const cards = document.querySelectorAll(".gallery__card"),
pictures = document.querySelectorAll(".gallery__image"),
slider = document.querySelector(".slider"),
sliderContainer = document.querySelector(".slider__container"),
sliderBtnLeft = document.querySelector(".slider__btn-left"),
sliderBtnRight = document.querySelector(".slider__btn-right"),
sliderClose = document.querySelector(".slider__btn-close");

let cardIndex = 0,
pictureFull = null,
newPictureFull = null;

const closeSlider = () => {
pictureFull && pictureFull.remove();

newPictureFull && newPictureFull.remove();

slider.classList.add("hidden");
document.body.classList.remove("is-hidden");
// backdropJs.classList.toggle("is-open");
document.body.classList.remove("show-modal-2");
}
};

function onBackdropClick(event) {
if (event.currentTarget === event.target) {
onCloseModal();
}
}
sliderBtnLeft.addEventListener("click", () => changePicture("left"));
sliderBtnRight.addEventListener("click", () => changePicture("right"));
sliderClose.addEventListener("click", () => closeSlider());
slider.addEventListener("click", onBackdropClick);

function onCloseLinkClick(event) {
if (event.target.nodeName === "IMG") {
// console.log(event.target.nodeName);
// onCloseModal();
onOpenModal();
}
}
// Перебираем коллекцию карточек
// на каждую карточку вешам прослушиать клик и функцию при клике открыть модалку
cards.forEach((item, index) => {
item.addEventListener("click", () => {
cardIndex = index;
openModal();
});
});

const openModal = () => {
pictureFull = pictures[cardIndex].cloneNode();
pictureFull.style.widht = "100%";
sliderContainer.append(pictureFull);
slider.classList.remove("hidden");
document.body.classList.add("is-hidden");
};

// const changePicture = (dir) => {
// if ("left") {
// cardIndex > 0 ? cardIndex-- : (cardIndex = cards.length - 1);
// // cardIndex - 1;
// } else if ("right") {
// cardIndex < cards.length - 1 ? cardIndex++ : (cardIndex = 0);
// // cardIndex + 1;
// } else {
// return;
// }
// };

// newPictureFull = pictures[cardIndex].cloneNode();
// newPictureFull.style.widht = "100%";

function onEscKeyPress(event) {
if (event.code === "Escape") {
onCloseModal();
// pictureFull.replaceWith(newPictureFull);
// pictureFull = newPictureFull;

function onBackdropClick(event) {
if (event.currentTarget === event.target) {
closeSlider();
}
}
6 changes: 3 additions & 3 deletions care/src/sass/base.scss
Original file line number Diff line number Diff line change
Expand Up @@ -107,6 +107,6 @@ body.is-hidden {
padding-right: 15px;
}

// .hidden {
// display: none !important;
// }
.hidden {
display: none !important;
}
12 changes: 0 additions & 12 deletions care/src/sass/components/contacts.scss
Original file line number Diff line number Diff line change
Expand Up @@ -180,15 +180,3 @@ legend {
.form-btn:focus {
background: $button-accent-color;
}

.gallery {
display: flex;
flex-wrap: wrap;
justify-content: center;
gap: 10px;
margin-bottom: 120px;
}

.gallery img {
height: 250px;
}
97 changes: 78 additions & 19 deletions care/src/sass/components/gallery/gallery.scss
Original file line number Diff line number Diff line change
Expand Up @@ -51,17 +51,30 @@
display: flex;
justify-content: center;
flex-wrap: wrap;
// max-width: 900px;
max-width: 1171px;
width: 100%;
gap: 10px;
margin-bottom: 120px;
}

// .gallery img {
// height: 250px;
// }

.gallery__card {
display: flex;
width: 300px;
}

.gallery__image {
width: 300px;
width: 800px;
@media screen and (max-width: $tablet) {
width: 300px;
}

@media screen and (min-width: $tablet) and (max-width: $desktop) {
width: 600px;
}
}

.gallery__card:hover .gallery__image {
Expand Down Expand Up @@ -89,23 +102,69 @@
animation: anim 0.5s ease;
}

.slider__btn {
// .slider__btn {
// display: none;
// @media screen and (min-width: $desktop) {
// position: absolute;
// top: 50%;
// transform: translateY(-50%);
// text-decoration: none;
// display: inline-block;
// padding: 14px 40px;
// margin: 10px 20px;
// border-radius: 30px;
// background-image: linear-gradient(#6ab1d7 0%, #33d9de 50%, #002878 100%);
// background-position: 100% 0;
// background-size: 200% 200%;
// font-family: inherit;
// font-size: 24px;
// font-weight: 300;
// color: $white-color;
// box-shadow: 0 16px 32px 0 rgba(0, 40, 120, 0.35);
// transition: 0.5s;
// }

// // cursor: pointer;
// }

// .slider__btn:hover {
// box-shadow: 0 0 0 0 rgba(0, 40, 120, 0);
// background-position: 0 0;
// }

.slider__btn-left {
display: none;
@media screen and (min-width: $desktop) {
left: 75px;
}
}

.slider__btn-right {
display: none;
@media screen and (min-width: $desktop) {
right: 75px;
}
}

.slider__btn-close {
position: absolute;
top: 50%;
transform: translateY(-50%);
top: 0;
right: 0;
text-decoration: none;
display: inline-flex;
padding: 14px 40px;
border-radius: 30px;
background-image: linear-gradient(#6ab1d7 0%, #33d9de 50%, #002878 100%);
background-position: 100% 0;
background-size: 200% 200%;
font-size: inherit;
font-size: 24px;
font-weight: 300;
display: inline-block;
padding: 15px 30px;
margin: 10px 20px;
border-radius: 10px;
box-shadow:
0 0 40px 40px #f137a6 inset,
0 0 0 0 #f137a6;
font-family: inherit;
font-weight: bold;
letter-spacing: 2px;
color: $white-color;
box-shadow: 0 16px 32px 0 rgba(0, 40, 120, 0.35);
transition: 0.5s;
transition: 0.15s ease-in-out;

// cursor: pointer;
}

.slider__btn-close:hover {
Expand All @@ -117,15 +176,15 @@

@keyframes anim {
0% {
border-radius: 100%;
// border-radius: 100%;
transform: scale(0);
}
50% {
border-radius: 50%;
// border-radius: 50%;
transform: scale(1.2);
}
100% {
border-radius: 0;
// border-radius: 0;
transform: scale(1);
}
}

0 comments on commit 5b0d72a

Please sign in to comment.