Skip to content
Open
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
1. Replace `<your_account>` with your Github username in the link
- [DEMO LINK](https://<your_account>.github.io/js_gallery_DOM/)
- [DEMO LINK](https://zubchenko-maksym.github.io/js_gallery_DOM/)
2. Follow [this instructions](https://mate-academy.github.io/layout_task-guideline/)
- Run `npm run test` command to test your code;
- Run `npm run test:only -- -n` to run fast test ignoring linter;
Expand Down
19 changes: 19 additions & 0 deletions src/scripts/main.js
Original file line number Diff line number Diff line change
@@ -1 +1,20 @@
'use strict';

const largeImg = document.querySelector('.gallery__large-img');
const list = document.querySelector('ul');

list.addEventListener('click', (ev) => {
ev.preventDefault();

let link = ev.target.parentElement;
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

When clicking directly on an <a> element (not on an <img> inside it), ev.target will be the <a> itself. However, this line sets link to ev.target.parentElement which would be the <li>, not the <a>. This causes the gallery to fail when clicking on anchors outside of images.


if (ev.target.tagName === 'IMG') {
link = ev.target.parentElement;
Comment on lines +11 to +12
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The condition if (ev.target.tagName === 'IMG') is redundant because line 12 executes the same assignment as line 9. This check needs to be changed to an else branch to handle the case when event.target is an <a> element.

}

if (link.tagName !== 'A') {
return;
}

largeImg.src = link.href;
});
Loading