ಇಂಟರಾಕ್ಟಿವ್ ಮಾದರಿಗಳೊಂದಿಗೆ ನಿಮ್ಮ ಇಮೇಜ್ ಗ್ಯಾಲರಿಯನ್ನು ವರ್ಧಿಸುವುದು
ಆಧುನಿಕ ವೆಬ್ಸೈಟ್ಗಳಿಗೆ ದೃಷ್ಟಿಗೋಚರವಾಗಿ ತೊಡಗಿಸಿಕೊಳ್ಳುವ ಚಿತ್ರ ಗ್ಯಾಲರಿ ಅತ್ಯಗತ್ಯ, ಆದರೆ ಮಾದರಿಗಳೊಂದಿಗೆ ಸುಗಮ ಕಾರ್ಯವನ್ನು ಖಚಿತಪಡಿಸಿಕೊಳ್ಳುವುದು ಟ್ರಿಕಿ ಆಗಿರಬಹುದು. ನಿಮ್ಮ ಗ್ಯಾಲರಿಗಾಗಿ ಬಹು ಕೆಲಸದ ಮಾದರಿಗಳನ್ನು ಕಾರ್ಯಗತಗೊಳಿಸಲು ನೀವು ಹೆಣಗಾಡುತ್ತಿದ್ದರೆ, ನೀವು ಒಬ್ಬಂಟಿಯಾಗಿಲ್ಲ. ಅನೇಕ ಡೆವಲಪರ್ಗಳು ತಮ್ಮ ಮಾದರಿಗಳು ಸರಿಯಾಗಿ ತೆರೆಯದಿರುವ ಅಥವಾ ಪರಸ್ಪರ ಸಂಘರ್ಷದ ಸಮಸ್ಯೆಗಳನ್ನು ಎದುರಿಸುತ್ತಾರೆ.
ಮಾದರಿಗಳನ್ನು ಬಳಸುವುದರಿಂದ ಸಂದರ್ಶಕರು ಚಿತ್ರಗಳನ್ನು ದೊಡ್ಡ ಸ್ವರೂಪದಲ್ಲಿ ವೀಕ್ಷಿಸಲು ಅನುಮತಿಸುತ್ತದೆ ಆದರೆ ಬಳಕೆದಾರರ ಅನುಭವವನ್ನು ಹೆಚ್ಚಿಸುತ್ತದೆ. ಸೇರಿಸಲಾಗುತ್ತಿದೆ ಸಂಚರಣೆ ಬಾಣಗಳು, ಫೇಸ್ಬುಕ್ ಅಥವಾ ಮೆಸೆಂಜರ್ನಂತಹ ಪ್ಲಾಟ್ಫಾರ್ಮ್ಗಳಂತೆಯೇ, ಪ್ರತಿ ಬಾರಿಯೂ ಮೋಡಲ್ ಅನ್ನು ಮುಚ್ಚದೆಯೇ ಚಿತ್ರಗಳ ಮೂಲಕ ಸರಾಗವಾಗಿ ಬ್ರೌಸ್ ಮಾಡಲು ಬಳಕೆದಾರರಿಗೆ ಅವಕಾಶ ನೀಡುವ ಮೂಲಕ ಉಪಯುಕ್ತತೆಯನ್ನು ಇನ್ನಷ್ಟು ಸುಧಾರಿಸುತ್ತದೆ.
ಈ ಲೇಖನದಲ್ಲಿ, ನಿಮ್ಮ HTML, CSS ಮತ್ತು JavaScript ಸೆಟಪ್ನಲ್ಲಿ ಬಹು ಮಾದರಿಗಳನ್ನು ಹೇಗೆ ಸಂಯೋಜಿಸುವುದು ಎಂಬುದನ್ನು ನಾವು ಅನ್ವೇಷಿಸುತ್ತೇವೆ. ತಡೆರಹಿತ ನ್ಯಾವಿಗೇಶನ್ ಅನುಭವವನ್ನು ರಚಿಸಲು ಸರಳ ಬಾಣಗಳನ್ನು ಹೇಗೆ ಬಳಸುವುದು ಎಂಬುದನ್ನು ಸಹ ನೀವು ಕಲಿಯುವಿರಿ. ನೀವು ಕೆಲಸ ಮಾಡದ ಇತರ ಪರಿಹಾರಗಳನ್ನು ಪ್ರಯತ್ನಿಸಿದ್ದರೂ ಸಹ, ಈ ಸವಾಲುಗಳನ್ನು ಎದುರಿಸಲು ಕೆಳಗಿನ ವಿಧಾನವು ವಿಶ್ವಾಸಾರ್ಹ ವಿಧಾನವನ್ನು ನೀಡುತ್ತದೆ.
ಒಳಗೆ ಧುಮುಕೋಣ ಹಂತ-ಹಂತದ ಪರಿಹಾರ, ನಿಮ್ಮ ಗ್ಯಾಲರಿಯಲ್ಲಿರುವ ಪ್ರತಿಯೊಂದು ಚಿತ್ರವು ಎಡ ಮತ್ತು ಬಲ ನ್ಯಾವಿಗೇಶನ್ ಬಾಣಗಳೊಂದಿಗೆ ತನ್ನದೇ ಆದ ಮಾದರಿಯಲ್ಲಿ ತೆರೆಯುತ್ತದೆ ಎಂದು ಖಚಿತಪಡಿಸಿಕೊಳ್ಳುವುದು. ಕೆಲವೇ ಟ್ವೀಕ್ಗಳೊಂದಿಗೆ, ನಿಮ್ಮ ಗ್ಯಾಲರಿಯ ಬಳಕೆದಾರರ ಅನುಭವವನ್ನು ನೀವು ಮುಂದಿನ ಹಂತಕ್ಕೆ ಕೊಂಡೊಯ್ಯಬಹುದು.
ಆಜ್ಞೆ | ಬಳಕೆ ಮತ್ತು ವಿವರಣೆಯ ಉದಾಹರಣೆ |
---|---|
querySelectorAll() | ಈ ಆಜ್ಞೆಯು ನೀಡಿದ CSS ಸೆಲೆಕ್ಟರ್ಗೆ ಹೊಂದಿಕೆಯಾಗುವ ಎಲ್ಲಾ ಅಂಶಗಳನ್ನು ಆಯ್ಕೆ ಮಾಡುತ್ತದೆ. ಸ್ಕ್ರಿಪ್ಟ್ನಲ್ಲಿ, ಗ್ಯಾಲರಿಯಲ್ಲಿರುವ ಎಲ್ಲಾ ಚಿತ್ರಗಳನ್ನು ಪಡೆದುಕೊಳ್ಳಲು ಇದನ್ನು ಬಳಸಲಾಗುತ್ತದೆ ಇದರಿಂದ ಪ್ರತಿಯೊಂದೂ ಕ್ಲಿಕ್ ಮಾಡಿದಾಗ ಮಾದರಿಯನ್ನು ಪ್ರಚೋದಿಸಬಹುದು. |
addEventListener() | ಒಂದು ಅಂಶಕ್ಕೆ ಈವೆಂಟ್ ಹ್ಯಾಂಡ್ಲರ್ ಅನ್ನು ನೋಂದಾಯಿಸುತ್ತದೆ. ಇಲ್ಲಿ, ಚಿತ್ರಗಳು ಮತ್ತು ನ್ಯಾವಿಗೇಶನ್ ಬಾಣಗಳ ಮೇಲೆ ಕ್ಲಿಕ್ ಈವೆಂಟ್ಗಳನ್ನು ಕೇಳಲು ಇದನ್ನು ಬಳಸಲಾಗುತ್ತದೆ, ಮಾದರಿ ಮತ್ತು ಇಮೇಜ್ ಪರಿವರ್ತನೆಗಳ ಸರಿಯಾದ ಕಾರ್ಯವನ್ನು ಖಾತ್ರಿಪಡಿಸುತ್ತದೆ. |
classList.add() | ಕ್ರಿಯಾತ್ಮಕವಾಗಿ ಒಂದು ಅಂಶಕ್ಕೆ CSS ವರ್ಗವನ್ನು ಸೇರಿಸುತ್ತದೆ. ಉದಾಹರಣೆಯಲ್ಲಿ ಸ್ಪಷ್ಟವಾಗಿ ತೋರಿಸದಿದ್ದರೂ, ತರಗತಿಗಳನ್ನು ಟಾಗಲ್ ಮಾಡುವ ಮೂಲಕ ಮಾದರಿಗಳನ್ನು ತೋರಿಸಲು ಅಥವಾ ಮರೆಮಾಡಲು ಈ ವಿಧಾನವು ಉಪಯುಕ್ತವಾಗಿದೆ. |
DOMContentLoaded | ಆರಂಭಿಕ HTML ಡಾಕ್ಯುಮೆಂಟ್ ಅನ್ನು ಸಂಪೂರ್ಣವಾಗಿ ಲೋಡ್ ಮಾಡಿದಾಗ ಮತ್ತು ಪಾರ್ಸ್ ಮಾಡಿದಾಗ ಪ್ರಚೋದಿಸುವ ಈವೆಂಟ್. DOM ನಲ್ಲಿ ಎಲ್ಲಾ ಅಂಶಗಳು ಲಭ್ಯವಾದ ನಂತರವೇ JavaScript ಕೋಡ್ ಕಾರ್ಯಗತಗೊಳ್ಳುತ್ತದೆ ಎಂದು ಇದು ಖಚಿತಪಡಿಸುತ್ತದೆ. |
modulus (%) operator | ವಿಭಜನೆಯ ಶೇಷವನ್ನು ಲೆಕ್ಕಾಚಾರ ಮಾಡಲು ಬಳಸಲಾಗುತ್ತದೆ. ಚಿತ್ರಗಳ ನಡುವೆ ನ್ಯಾವಿಗೇಟ್ ಮಾಡುವಾಗ ಸೂಚ್ಯಂಕವನ್ನು ಸುತ್ತುವ ಮೂಲಕ ಸೈಕ್ಲಿಕ್ ನ್ಯಾವಿಗೇಷನ್ ರಚಿಸಲು ಸಹಾಯ ಮಾಡುತ್ತದೆ (ಉದಾ., ಕೊನೆಯ ಚಿತ್ರದಿಂದ ಮೊದಲ ಚಿತ್ರಕ್ಕೆ ಹೋಗುವುದು). |
style.display | JavaScript ಮೂಲಕ ಅಂಶದ CSS ಡಿಸ್ಪ್ಲೇ ಆಸ್ತಿಯನ್ನು ಕುಶಲತೆಯಿಂದ ನಿರ್ವಹಿಸುತ್ತದೆ. ಮೋಡಲ್ ಸ್ಕ್ರಿಪ್ಟ್ನಲ್ಲಿ, ಚಿತ್ರವನ್ನು ಕ್ಲಿಕ್ ಮಾಡಿದಾಗ ಅಥವಾ ಮುಚ್ಚಿದಾಗ ಮೋಡಲ್ ಅನ್ನು ತೋರಿಸಲು ಅಥವಾ ಮರೆಮಾಡಲು ಇದನ್ನು ಬಳಸಲಾಗುತ್ತದೆ. |
this | ವಿಧಾನದೊಳಗೆ ಪ್ರಸ್ತುತ ವಸ್ತುವನ್ನು ಉಲ್ಲೇಖಿಸುತ್ತದೆ. ಮಾಡ್ಯುಲರ್ ಜಾವಾಸ್ಕ್ರಿಪ್ಟ್ ವಿಧಾನದಲ್ಲಿ, ಅದರ ಗುಣಲಕ್ಷಣಗಳು ಮತ್ತು ವಿಧಾನಗಳನ್ನು ಪ್ರವೇಶಿಸುವಾಗ ಗ್ಯಾಲರಿಮೋಡಲ್ ವರ್ಗದ ಸಂದರ್ಭವನ್ನು ನಿರ್ವಹಿಸಲು ಇದನ್ನು ಬಳಸಲಾಗುತ್ತದೆ. |
forEach() | ಅರೇ ಅಥವಾ ನೋಡ್ಲಿಸ್ಟ್ನ ಪ್ರತಿಯೊಂದು ಅಂಶದ ಮೇಲೆ ಪುನರಾವರ್ತನೆಯಾಗುತ್ತದೆ. ಎಲ್ಲಾ ಗ್ಯಾಲರಿ ಚಿತ್ರಗಳಿಗೆ ಕ್ರಿಯಾತ್ಮಕವಾಗಿ ಕ್ಲಿಕ್ ಈವೆಂಟ್ಗಳನ್ನು ಲಗತ್ತಿಸಲು ಈ ಆಜ್ಞೆಯನ್ನು ಬಳಸಲಾಗುತ್ತದೆ. |
new | ವಸ್ತು ಅಥವಾ ವರ್ಗದ ಹೊಸ ನಿದರ್ಶನವನ್ನು ರಚಿಸುತ್ತದೆ. ಎರಡನೇ ಪರಿಹಾರದಲ್ಲಿ, ಹೊಸ GalleryModal(images) ಆಜ್ಞೆಯು ಗ್ಯಾಲರಿ ಮಾದರಿ ಕಾರ್ಯವನ್ನು ಪ್ರಾರಂಭಿಸುತ್ತದೆ. |
transform: translateY() | ನ್ಯಾವಿಗೇಷನ್ ಬಾಣಗಳನ್ನು ಲಂಬವಾಗಿ ಜೋಡಿಸಲು CSS ಆಸ್ತಿಯನ್ನು ಬಳಸಲಾಗುತ್ತದೆ. ವಿಷಯದ ಎತ್ತರವು ಕ್ರಿಯಾತ್ಮಕವಾಗಿ ಬದಲಾದಾಗಲೂ ಬಾಣಗಳು ಕೇಂದ್ರೀಕೃತವಾಗಿರುವುದನ್ನು ಇದು ಖಚಿತಪಡಿಸುತ್ತದೆ. |
ಮೋಡಲ್ ಸ್ಕ್ರಿಪ್ಟ್ಗಳು ನಿಮ್ಮ ಗ್ಯಾಲರಿ ವೆಬ್ಸೈಟ್ ಅನ್ನು ಹೇಗೆ ಹೆಚ್ಚಿಸುತ್ತವೆ
ಒದಗಿಸಿದ ಕೋಡ್ನಲ್ಲಿ ಅಳವಡಿಸಲಾಗಿರುವ ಮಾದರಿ ಕಾರ್ಯವು ಬಳಕೆದಾರರು ಯಾವುದೇ ಚಿತ್ರದ ಮೇಲೆ ಕ್ಲಿಕ್ ಮಾಡಬಹುದು ಮತ್ತು ಗ್ಯಾಲರಿ ಪುಟವನ್ನು ಬಿಡದೆಯೇ ವಿಸ್ತರಿತ, ಪ್ರತ್ಯೇಕ ವೀಕ್ಷಣೆಯಲ್ಲಿ ವೀಕ್ಷಿಸಬಹುದು ಎಂದು ಖಚಿತಪಡಿಸುತ್ತದೆ. ಗ್ಯಾಲರಿಯಲ್ಲಿರುವ ಪ್ರತಿಯೊಂದು ಚಿತ್ರವು ಎ ಮಾದರಿ, ಇದು ಇತರ ಚಿತ್ರಗಳ ನಡುವೆ ಬದಲಾಯಿಸಲು ನ್ಯಾವಿಗೇಷನ್ ಬಾಣಗಳ ಜೊತೆಗೆ ಚಿತ್ರವನ್ನು ಪೂರ್ಣ ಗಾತ್ರದಲ್ಲಿ ಪ್ರದರ್ಶಿಸುತ್ತದೆ. ಈ ವಿಧಾನವು ವರ್ಧಿಸುತ್ತದೆ ಬಳಕೆದಾರ ಅನುಭವ ಸಾಮಾಜಿಕ ಮಾಧ್ಯಮ ಪ್ಲಾಟ್ಫಾರ್ಮ್ಗಳಂತೆಯೇ ಸಂದರ್ಶಕರಿಗೆ ಮಾದರಿಯೊಳಗೆ ಸಂಪೂರ್ಣ ಗ್ಯಾಲರಿಯ ಮೂಲಕ ಮನಬಂದಂತೆ ಬ್ರೌಸ್ ಮಾಡಲು ಅವಕಾಶ ನೀಡುವ ಮೂಲಕ.
ಈ ಕಾರ್ಯಚಟುವಟಿಕೆಯಲ್ಲಿನ ಪ್ರಮುಖ ಅಂಶವೆಂದರೆ ಜಾವಾಸ್ಕ್ರಿಪ್ಟ್ನ ಬಳಕೆ ಈವೆಂಟ್ ಕೇಳುಗರು. ಪ್ರತಿ ಚಿತ್ರಕ್ಕೂ ಒಂದು ಕ್ಲಿಕ್ ಕ್ರಿಯೆಯನ್ನು ನಿಗದಿಪಡಿಸಲಾಗಿದೆ, ಅದು ಮಾದರಿಯನ್ನು ತೆರೆಯುತ್ತದೆ ಮತ್ತು ಕ್ಲಿಕ್ ಮಾಡಿದ ಚಿತ್ರದ ಆಧಾರದ ಮೇಲೆ ವಿಷಯವನ್ನು ಕ್ರಿಯಾತ್ಮಕವಾಗಿ ನವೀಕರಿಸುತ್ತದೆ. ಎರಡನೆಯ ಪರಿಹಾರದಲ್ಲಿ ಬಳಸಲಾದ ಮಾಡ್ಯುಲರ್ ವಿಧಾನವು ಮಾದರಿ ನಡವಳಿಕೆಯನ್ನು ವರ್ಗಕ್ಕೆ ಸೇರಿಸುವ ಮೂಲಕ ಸ್ಕೇಲೆಬಲ್ ವ್ಯವಸ್ಥೆಯನ್ನು ರಚಿಸುತ್ತದೆ. ಭವಿಷ್ಯದಲ್ಲಿ ಗ್ಯಾಲರಿ ಅಥವಾ ಅದರ ಕಾರ್ಯಚಟುವಟಿಕೆಗಳು ಬೆಳೆದರೆ ಕೋಡ್ ನಿರ್ವಹಿಸಲು ಮತ್ತು ವಿಸ್ತರಿಸಲು ಸುಲಭವಾಗಿದೆ ಎಂದು ಇದು ಖಚಿತಪಡಿಸುತ್ತದೆ.
ಮಾದರಿಯೊಳಗಿನ ನ್ಯಾವಿಗೇಷನ್ ಅನ್ನು ಎರಡು ಬಾಣಗಳನ್ನು ಬಳಸಿ ನಿಯಂತ್ರಿಸಲಾಗುತ್ತದೆ-'ಮುಂದಿನ' ಮತ್ತು 'ಹಿಂದಿನ.' ಈ ಬಾಣಗಳು ಪ್ರಸ್ತುತ ಸೂಚ್ಯಂಕವನ್ನು ಹೆಚ್ಚಿಸುವ ಅಥವಾ ಕಡಿಮೆ ಮಾಡುವ ಮೂಲಕ ಪ್ರದರ್ಶಿಸಲಾದ ಚಿತ್ರವನ್ನು ನವೀಕರಿಸಲು JavaScript ಅನ್ನು ಬಳಸುತ್ತವೆ. ಮಾಡ್ಯುಲಸ್ ಆಪರೇಟರ್ ಗ್ಯಾಲರಿಯ ಅಂತ್ಯ ಅಥವಾ ಪ್ರಾರಂಭವನ್ನು ತಲುಪಿದಾಗ ಚಿತ್ರದ ಸೂಚ್ಯಂಕವು ಸುತ್ತುತ್ತದೆ ಎಂದು ಖಚಿತಪಡಿಸಿಕೊಳ್ಳುವುದು. ಇದು ನ್ಯಾವಿಗೇಷನ್ ಸಮಯದಲ್ಲಿ ಡೆಡ್ ಎಂಡ್ ಅನ್ನು ಹೊಡೆಯುವುದನ್ನು ತಡೆಯುತ್ತದೆ ಮತ್ತು ನಿರಂತರ ಬ್ರೌಸಿಂಗ್ ಅನುಭವವನ್ನು ಒದಗಿಸುತ್ತದೆ.
ಬಳಕೆ CSS ಮಾದರಿ ಮತ್ತು ಬಾಣಗಳನ್ನು ವಿನ್ಯಾಸಗೊಳಿಸಲು ವಿನ್ಯಾಸವು ಸ್ಪಂದಿಸುತ್ತದೆ ಮತ್ತು ಆಧುನಿಕ ವೆಬ್ ಮಾನದಂಡಗಳೊಂದಿಗೆ ಸರಿಹೊಂದಿಸುತ್ತದೆ ಎಂದು ಖಚಿತಪಡಿಸುತ್ತದೆ. ಪರದೆಯ ಗಾತ್ರವನ್ನು ಲೆಕ್ಕಿಸದೆಯೇ ಮಾದರಿಯು ಕೇಂದ್ರೀಕೃತವಾಗಿರುತ್ತದೆ ಮತ್ತು ಬಾಣಗಳನ್ನು ಲಂಬವಾಗಿ ಜೋಡಿಸಲಾಗಿದೆ ಅನುವಾದಿಸಿY() ಆಸ್ತಿ. ಇಂಟರ್ಫೇಸ್ ಕಲಾತ್ಮಕವಾಗಿ ಆಹ್ಲಾದಕರವಾಗಿರುತ್ತದೆ ಮತ್ತು ವಿವಿಧ ಸಾಧನಗಳಲ್ಲಿ ಬಳಸಲು ಸುಲಭವಾಗಿದೆ ಎಂದು ಇದು ಖಾತರಿಪಡಿಸುತ್ತದೆ. HTML ಲೇಔಟ್ನಿಂದ ಮಾಡ್ಯುಲರ್ ಜಾವಾಸ್ಕ್ರಿಪ್ಟ್ ವರ್ಗದವರೆಗಿನ ಸಂಪೂರ್ಣ ರಚನೆಯು ದೃಢವಾದ, ನಿರ್ವಹಿಸಬಹುದಾದ ಮತ್ತು ಬಳಕೆದಾರ ಸ್ನೇಹಿ ಗ್ಯಾಲರಿ ವ್ಯವಸ್ಥೆಯನ್ನು ಖಾತ್ರಿಗೊಳಿಸುತ್ತದೆ.
ಪರಿಹಾರ 1: ಬಾಣಗಳೊಂದಿಗೆ ಮೂಲ HTML, CSS ಮತ್ತು JavaScript ಮಾಡಲ್
ಈ ಪರಿಹಾರವು ನ್ಯಾವಿಗೇಶನ್ ಮಾದರಿಗಳಿಗಾಗಿ HTML, CSS ಮತ್ತು ವೆನಿಲ್ಲಾ ಜಾವಾಸ್ಕ್ರಿಪ್ಟ್ ಅನ್ನು ಬಳಸಿಕೊಂಡು ಮುಂಭಾಗದ ಅಂತ್ಯ-ಮಾತ್ರ ವಿಧಾನವನ್ನು ಪ್ರದರ್ಶಿಸುತ್ತದೆ.
// HTML structure for each modal
<div class="modal" id="modal1">
<span class="close" onclick="closeModal()">×</span>
<img class="modal-content" id="img01">
<div class="caption"></div>
<div class="nav left" onclick="prevImage()">❮</div>
<div class="nav right" onclick="nextImage()">❯</div>
</div>
// JavaScript to handle modal behavior
let currentImage = 0;
const images = document.querySelectorAll('.galleryimg');
const modal = document.getElementById('modal1');
const modalImg = document.getElementById('img01');
images.forEach((img, index) => {
img.onclick = () => {
openModal(index);
};
});
function openModal(index) {
currentImage = index;
modal.style.display = "block";
modalImg.src = images[index].src;
}
function closeModal() {
modal.style.display = "none";
}
function nextImage() {
currentImage = (currentImage + 1) % images.length;
modalImg.src = images[currentImage].src;
}
function prevImage() {
currentImage = (currentImage - 1 + images.length) % images.length;
modalImg.src = images[currentImage].src;
}
// CSS for modal styling
.modal {
display: none;
position: fixed;
z-index: 1;
left: 0;
top: 0;
width: 100%;
height: 100%;
background-color: rgba(0, 0, 0, 0.8);
}
.modal-content {
margin: auto;
display: block;
width: 80%;
}
.nav {
cursor: pointer;
position: absolute;
top: 50%;
transform: translateY(-50%);
}
ಪರಿಹಾರ 2: ಈವೆಂಟ್ ನಿಯೋಗದೊಂದಿಗೆ ಮಾಡ್ಯುಲರ್ ಜಾವಾಸ್ಕ್ರಿಪ್ಟ್ ಅಪ್ರೋಚ್
ಈ ವಿಧಾನವು ಸ್ಕೇಲೆಬಿಲಿಟಿ ಮತ್ತು ನಿರ್ವಹಣೆಯನ್ನು ಸುಧಾರಿಸಲು ಮಾಡ್ಯುಲರ್ ಜಾವಾಸ್ಕ್ರಿಪ್ಟ್ ಕಾರ್ಯಗಳನ್ನು ಬಳಸುತ್ತದೆ.
// Modular JavaScript setup for gallery modal
class GalleryModal {
constructor(images) {
this.images = images;
this.currentImage = 0;
this.modal = document.querySelector('.modal');
this.modalImg = this.modal.querySelector('.modal-content');
this.attachEventListeners();
}
attachEventListeners() {
this.images.forEach((img, index) => {
img.addEventListener('click', () => this.open(index));
});
this.modal.querySelector('.left').addEventListener('click', () => this.prev());
this.modal.querySelector('.right').addEventListener('click', () => this.next());
}
open(index) {
this.currentImage = index;
this.modal.style.display = 'block';
this.modalImg.src = this.images[index].src;
}
next() {
this.currentImage = (this.currentImage + 1) % this.images.length;
this.modalImg.src = this.images[this.currentImage].src;
}
prev() {
this.currentImage = (this.currentImage - 1 + this.images.length) % this.images.length;
this.modalImg.src = this.images[this.currentImage].src;
}
}
// Initialize the modal functionality
document.addEventListener('DOMContentLoaded', () => {
const images = document.querySelectorAll('.galleryimg');
new GalleryModal(images);
});
// Additional CSS Styling
.modal {
display: none;
position: fixed;
width: 100%;
height: 100%;
background: rgba(0, 0, 0, 0.8);
justify-content: center;
align-items: center;
}
ಪ್ರವೇಶಿಸುವಿಕೆ ಮತ್ತು ಉಪಯುಕ್ತತೆ ವೈಶಿಷ್ಟ್ಯಗಳೊಂದಿಗೆ ಗ್ಯಾಲರಿ ಮಾದರಿಗಳನ್ನು ಸುಧಾರಿಸುವುದು
ಬಹು ರಚಿಸುವುದನ್ನು ಮೀರಿ ಮಾದರಿಗಳು ನ್ಯಾವಿಗೇಷನ್ ಜೊತೆಗೆ, ಪರಿಗಣಿಸಬೇಕಾದ ಮತ್ತೊಂದು ನಿರ್ಣಾಯಕ ಅಂಶವೆಂದರೆ ಪ್ರವೇಶವನ್ನು ಸುಧಾರಿಸುವುದು. ವಿಕಲಾಂಗ ಬಳಕೆದಾರರಿಗೆ ಗ್ಯಾಲರಿ ಪ್ರವೇಶಿಸಬಹುದು ಎಂದು ಖಚಿತಪಡಿಸಿಕೊಳ್ಳುವುದು ನಿಮ್ಮ ವೆಬ್ಸೈಟ್ ಒಳಗೊಳ್ಳುವುದನ್ನು ಖಚಿತಪಡಿಸುತ್ತದೆ. HTML ಅಂಶಗಳಿಗೆ ಸೂಕ್ತವಾದ ARIA ಗುಣಲಕ್ಷಣಗಳನ್ನು ಸೇರಿಸುವ ಮೂಲಕ ಮತ್ತು ಎಲ್ಲಾ ಚಿತ್ರಗಳು ಅರ್ಥಪೂರ್ಣವಾಗಿರುವುದನ್ನು ಖಚಿತಪಡಿಸಿಕೊಳ್ಳುವ ಮೂಲಕ ಇದನ್ನು ಸಾಧಿಸಬಹುದು ಪರ್ಯಾಯ ಪಠ್ಯ. ಇದು ಸ್ಕ್ರೀನ್ ರೀಡರ್ಗಳಿಗೆ ವಿವರಣೆಯನ್ನು ಒದಗಿಸುತ್ತದೆ, ದೃಷ್ಟಿಹೀನ ಬಳಕೆದಾರರಿಗೆ ವಿಷಯವನ್ನು ಓದುವಂತೆ ಮಾಡುತ್ತದೆ.
ಉಪಯುಕ್ತತೆಯ ಮತ್ತೊಂದು ಪ್ರಮುಖ ಅಂಶವೆಂದರೆ ಬಳಕೆದಾರರು ಕೀಬೋರ್ಡ್ ಮತ್ತು ಮೌಸ್ ಎರಡರಿಂದಲೂ ಮಾದರಿಗಳನ್ನು ನ್ಯಾವಿಗೇಟ್ ಮಾಡಬಹುದು ಎಂದು ಖಚಿತಪಡಿಸಿಕೊಳ್ಳುವುದು. ನಿರ್ದಿಷ್ಟ ಕೀಬೋರ್ಡ್ ಈವೆಂಟ್ಗಳನ್ನು ಆಲಿಸುವ ಮೂಲಕ ನೀವು ಇದನ್ನು ಸಾಧಿಸಬಹುದು ಎಸ್ಕೇಪ್ ಮೋಡಲ್ ಅನ್ನು ಮುಚ್ಚಲು ಕೀ ಮತ್ತು ಇಮೇಜ್ ನ್ಯಾವಿಗೇಷನ್ಗಾಗಿ ಬಾಣದ ಕೀಲಿಗಳು. ಈ ವೈಶಿಷ್ಟ್ಯಗಳನ್ನು ಕಾರ್ಯಗತಗೊಳಿಸುವುದರಿಂದ ಗ್ಯಾಲರಿಯ ಕಾರ್ಯವನ್ನು ವರ್ಧಿಸುತ್ತದೆ, ಬಳಕೆದಾರರಿಗೆ ಅದರೊಂದಿಗೆ ಸಂವಹನ ನಡೆಸಲು ಹಲವಾರು ಮಾರ್ಗಗಳನ್ನು ನೀಡುತ್ತದೆ. ಹೆಚ್ಚುವರಿಯಾಗಿ, ಮೊಬೈಲ್ ಫೋನ್ಗಳಿಂದ ಹಿಡಿದು ದೊಡ್ಡ ಮಾನಿಟರ್ಗಳವರೆಗೆ ಎಲ್ಲಾ ಪರದೆಯ ಗಾತ್ರಗಳಲ್ಲಿ ಮಾದರಿಗಳು ಉತ್ತಮವಾಗಿ ಕಾಣುವಂತೆ ನೋಡಿಕೊಳ್ಳಲು ಪ್ರತಿಕ್ರಿಯಾಶೀಲ ವಿನ್ಯಾಸವು ಅತ್ಯಗತ್ಯ.
ಕೊನೆಯದಾಗಿ, ಇಮೇಜ್ ಲೋಡಿಂಗ್ ಅನ್ನು ಅತ್ಯುತ್ತಮವಾಗಿಸುವುದರಿಂದ ನಿಮ್ಮ ಗ್ಯಾಲರಿಯ ಕಾರ್ಯಕ್ಷಮತೆಯನ್ನು ಗಮನಾರ್ಹವಾಗಿ ಪರಿಣಾಮ ಬೀರಬಹುದು. ಲೇಜಿ ಲೋಡಿಂಗ್ ತಂತ್ರಗಳು, ಉದಾಹರಣೆಗೆ ಸೇರಿಸುವುದು ಲೋಡಿಂಗ್="ಸೋಮಾರಿ" ಚಿತ್ರಗಳಿಗೆ ಗುಣಲಕ್ಷಣ, ಅವು ಬಳಕೆದಾರರಿಗೆ ಗೋಚರಿಸಿದಾಗ ಮಾತ್ರ ಅವುಗಳನ್ನು ಲೋಡ್ ಮಾಡಲು ಅನುಮತಿಸಿ. ಇದು ಅನಗತ್ಯ ಡೇಟಾ ಬಳಕೆಯನ್ನು ತಡೆಯುತ್ತದೆ ಮತ್ತು ಆರಂಭಿಕ ಪುಟ ಲೋಡ್ ಅನ್ನು ವೇಗಗೊಳಿಸುತ್ತದೆ. ಜೊತೆಗೆ ಸಂಯೋಜಿಸಲಾಗಿದೆ ಜಾವಾಸ್ಕ್ರಿಪ್ಟ್-ಆಧಾರಿತ ಮಾದರಿಗಳು, ಈ ಆಪ್ಟಿಮೈಸೇಶನ್ಗಳು ಸಾಧನಗಳು ಮತ್ತು ನೆಟ್ವರ್ಕ್ ಪರಿಸ್ಥಿತಿಗಳಾದ್ಯಂತ ಸುಗಮ ಮತ್ತು ಸ್ಪಂದಿಸುವ ಬಳಕೆದಾರರ ಅನುಭವವನ್ನು ಖಚಿತಪಡಿಸುತ್ತವೆ.
ಜಾವಾಸ್ಕ್ರಿಪ್ಟ್ನೊಂದಿಗೆ ಮಾದರಿಗಳನ್ನು ಕಾರ್ಯಗತಗೊಳಿಸುವ ಬಗ್ಗೆ ಸಾಮಾನ್ಯ ಪ್ರಶ್ನೆಗಳು
- ಜಾವಾಸ್ಕ್ರಿಪ್ಟ್ ಬಳಸಿ ನಾನು ಮಾದರಿಯನ್ನು ಹೇಗೆ ಪ್ರಚೋದಿಸುವುದು?
- ನೀವು ಬಳಸಬಹುದು addEventListener('click') ಚಿತ್ರವನ್ನು ಕ್ಲಿಕ್ ಮಾಡಿದಾಗ ಮಾದರಿಯನ್ನು ತೆರೆಯಲು.
- ನಾನು ಕೀಬೋರ್ಡ್ ಬಳಸಿ ಮೋಡಲ್ ಅನ್ನು ಹೇಗೆ ಮುಚ್ಚಬಹುದು?
- ಗಾಗಿ ಆಲಿಸಿ keydown ಈವೆಂಟ್ ಮತ್ತು ಪರಿಶೀಲಿಸಿ key === 'Escape' ಮಾದರಿಯನ್ನು ಮುಚ್ಚಲು.
- ಮುಂದಿನ ಮತ್ತು ಹಿಂದಿನ ಇಮೇಜ್ ನ್ಯಾವಿಗೇಶನ್ ಅನ್ನು ಕಾರ್ಯಗತಗೊಳಿಸಲು ಸುಲಭವಾದ ಮಾರ್ಗ ಯಾವುದು?
- ಬಳಸಿ modulus (%) ಪಟ್ಟಿಯ ಅಂತ್ಯವನ್ನು ಹೊಡೆಯದೆಯೇ ಚಿತ್ರಗಳ ಮೂಲಕ ಸೈಕಲ್ ಮಾಡಲು.
- ಮೊಬೈಲ್ ಸಾಧನಗಳಲ್ಲಿ ಮೋಡಲ್ ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತದೆ ಎಂದು ನಾನು ಹೇಗೆ ಖಚಿತಪಡಿಸಿಕೊಳ್ಳಬಹುದು?
- ಬಳಸಿ media queries CSS ನಲ್ಲಿ ಮತ್ತು ವಿಭಿನ್ನ ಪರದೆಯ ಗಾತ್ರಗಳಲ್ಲಿ ವಿನ್ಯಾಸವನ್ನು ಪರೀಕ್ಷಿಸಿ.
- ಸೋಮಾರಿಯಾದ ಲೋಡಿಂಗ್ ಎಂದರೇನು ಮತ್ತು ನಾನು ಅದನ್ನು ಹೇಗೆ ಕಾರ್ಯಗತಗೊಳಿಸಬಹುದು?
- ಸೇರಿಸಿ loading="lazy" ನಿಮ್ಮ img ಟ್ಯಾಗ್ಗಳು ವ್ಯೂಪೋರ್ಟ್ನಲ್ಲಿರುವವರೆಗೆ ಚಿತ್ರಗಳನ್ನು ಲೋಡ್ ಮಾಡುವುದನ್ನು ಮುಂದೂಡಲು.
ಅಂತಿಮ ಆಲೋಚನೆಗಳೊಂದಿಗೆ ಸುತ್ತುವುದು
ಕಾರ್ಯಗತಗೊಳಿಸುವುದು ಮಾದರಿಗಳು ಬಳಕೆದಾರರ ಸಂವಹನವನ್ನು ಸುಧಾರಿಸಲು ಗ್ಯಾಲರಿಯಲ್ಲಿ ಮುಖ್ಯವಾಗಿದೆ. ಬಾಣ-ಆಧಾರಿತ ನ್ಯಾವಿಗೇಷನ್ ಮತ್ತು ಕೀಬೋರ್ಡ್ ಬೆಂಬಲದಂತಹ ವೈಶಿಷ್ಟ್ಯಗಳನ್ನು ಸೇರಿಸುವುದರಿಂದ ಗ್ಯಾಲರಿಯು ಬಳಕೆದಾರ ಸ್ನೇಹಿಯಾಗಿದೆ ಮತ್ತು ಬಹು ಸಾಧನಗಳಲ್ಲಿ ಪ್ರವೇಶಿಸಬಹುದಾಗಿದೆ. ಈ ಅಂಶಗಳು ಬಳಕೆದಾರರಿಗೆ ಚಿತ್ರಗಳನ್ನು ಪರಿಣಾಮಕಾರಿಯಾಗಿ ಬ್ರೌಸ್ ಮಾಡಲು ಅನುಮತಿಸುತ್ತದೆ.
ಗ್ಯಾಲರಿಯ ಕಾರ್ಯಕ್ಷಮತೆಯನ್ನು ಕಾಪಾಡಿಕೊಳ್ಳಲು, ಲೇಜಿ ಲೋಡಿಂಗ್ನಂತಹ ಆಪ್ಟಿಮೈಸೇಶನ್ ತಂತ್ರಗಳನ್ನು ಬಳಸಬೇಕು. ಉತ್ತಮ ರಚನಾತ್ಮಕ ಸಂಯೋಜನೆ ಜಾವಾಸ್ಕ್ರಿಪ್ಟ್ ಮತ್ತು CSS ಸುಗಮ ಪರಿವರ್ತನೆಗಳು ಮತ್ತು ತೊಡಗಿಸಿಕೊಳ್ಳುವ ಅನುಭವವನ್ನು ಅನುಮತಿಸುತ್ತದೆ. ಉತ್ತಮ ಅಭ್ಯಾಸಗಳನ್ನು ಅನುಸರಿಸುವುದರಿಂದ ಗ್ಯಾಲರಿಯು ಸ್ಪಂದಿಸುವ, ಪ್ರವೇಶಿಸಬಹುದಾದ ಮತ್ತು ಭವಿಷ್ಯದ ನವೀಕರಣಗಳೊಂದಿಗೆ ವಿಸ್ತರಿಸಲು ಸುಲಭವಾಗಿದೆ ಎಂದು ಖಚಿತಪಡಿಸುತ್ತದೆ.
ಬಹು ಮಾದರಿಗಳನ್ನು ನಿರ್ಮಿಸಲು ಮೂಲಗಳು ಮತ್ತು ಉಲ್ಲೇಖಗಳು
- ಅನುಷ್ಠಾನದ ಬಗ್ಗೆ ವಿವರವಾದ ದಸ್ತಾವೇಜನ್ನು ಮಾದರಿಗಳು ಮತ್ತು ಜಾವಾಸ್ಕ್ರಿಪ್ಟ್ ಬಳಸಿಕೊಂಡು ಬಳಕೆದಾರರ ಸಂವಹನಗಳನ್ನು ನಿರ್ವಹಿಸುವುದನ್ನು ಇಲ್ಲಿ ಕಾಣಬಹುದು MDN ವೆಬ್ ಡಾಕ್ಸ್ .
- ಗ್ಯಾಲರಿ ಲೇಔಟ್ಗಳನ್ನು ಅತ್ಯುತ್ತಮವಾಗಿಸಲು ರೆಸ್ಪಾನ್ಸಿವ್ ವಿನ್ಯಾಸ ತಂತ್ರಗಳನ್ನು ಉಲ್ಲೇಖಿಸಲಾಗಿದೆ ಸಿಎಸ್ಎಸ್-ಟ್ರಿಕ್ಸ್ . ಈ ಮಾರ್ಗದರ್ಶಿ ಆಧುನಿಕ CSS ಅಭ್ಯಾಸಗಳಿಗೆ ಪ್ರಾಯೋಗಿಕ ಒಳನೋಟಗಳನ್ನು ನೀಡುತ್ತದೆ.
- ಕಾರ್ಯಕ್ಷಮತೆಯನ್ನು ಸುಧಾರಿಸಲು ಲೇಜಿ ಲೋಡಿಂಗ್ ಚಿತ್ರಗಳ ಪರಿಕಲ್ಪನೆಯನ್ನು ವಿವರಿಸಲಾಗಿದೆ Web.dev , ಉತ್ತಮ ವೆಬ್ ಅಭಿವೃದ್ಧಿ ಅಭ್ಯಾಸಗಳನ್ನು ಹಂಚಿಕೊಳ್ಳಲು Google ನಿಂದ ರಚಿಸಲಾದ ವೇದಿಕೆ.
- ನ್ಯಾವಿಗೇಷನ್ ಪರಿಕಲ್ಪನೆಗಳು ಮತ್ತು ಬಳಕೆದಾರರ ಅನುಭವದ ಒಳನೋಟಗಳು, ಸ್ಫೂರ್ತಿ UX ವಿನ್ಯಾಸ , ಮಾದರಿ ಗ್ಯಾಲರಿಯಲ್ಲಿ ತಡೆರಹಿತ ಬಾಣಗಳನ್ನು ಅಳವಡಿಸಲು ನಿರ್ದೇಶನವನ್ನು ಒದಗಿಸಲಾಗಿದೆ.
- JavaScript ನಲ್ಲಿ ಈವೆಂಟ್ ನಿರ್ವಹಣೆಯ ಆಳವಾದ ತಿಳುವಳಿಕೆಗಾಗಿ, ಈ ಲೇಖನದಿಂದ JavaScript.info ಹೆಚ್ಚು ಮಾಹಿತಿಯುಕ್ತವಾಗಿತ್ತು.