Refactor to not use jquery

This commit is contained in:
Ariejan de Vroom 2017-03-20 23:21:16 +01:00
parent 7144ef306c
commit 33ce37faf5

View File

@ -56,20 +56,36 @@
{{ end }}
</article>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script>
<script type="text/javascript">
$(function() {
$(document).on('click', 'article img', function() {
$(this).toggleClass('zoomed');
function ready(fn) {
if (document.readyState != 'loading') {
fn();
} else {
document.addEventListener('DOMContentLoaded', fn);
}
}
function imageClick(e) {
e.preventDefault();
this.classList.toggle('zoomed');
}
function handleEsc(e) {
if (e.keyCode == 27) {
var zoomedImages = document.querySelectorAll('img.zoomed');
Array.prototype.forEach.call(zoomedImages, function(el, i) {
el.classList.toggle('zoomed');
});
}
}
ready(function() {
var images = document.querySelectorAll('article img');
Array.prototype.forEach.call(images, function(el, i) {
el.addEventListener('click', imageClick);
});
$(document).keyup(function(e) {
if (e.keyCode == 27) {
$('img.zoomed').each(function(idx) {
$(this).toggleClass('zoomed');
});
}
});
document.addEventListener('keyup', handleEsc);
});
</script>