This repository has been archived on 2024-09-05. You can view files and clone it, but cannot push or open issues or pull requests.
shimmie2/ext/handle_pixel/script.js

73 lines
1.8 KiB
JavaScript
Raw Normal View History

2020-03-02 17:12:43 +00:00
document.addEventListener('DOMContentLoaded', () => {
function zoom(zoom_type, save_cookie) {
save_cookie = save_cookie === undefined ? true : save_cookie;
var img = $('.shm-main-image');
if(zoom_type === "full") {
img.css('max-width', img.data('width') + 'px');
img.css('max-height', img.data('height') + 'px');
}
if(zoom_type === "width") {
img.css('max-width', '95%');
img.css('max-height', img.data('height') + 'px');
}
if(zoom_type === "height") {
img.css('max-width', img.data('width') + 'px');
img.css('max-height', (window.innerHeight * 0.95) + 'px');
}
if(zoom_type === "both") {
img.css('max-width', '95%');
img.css('max-height', (window.innerHeight * 0.95) + 'px');
}
const zoomed_height_diff = Math.round(window.innerHeight * 0.95 - img.height());
const zoomed_width_diff = Math.round(img.parent().width() * 0.95 - img.width());
if (zoomed_height_diff > 0 && zoomed_width_diff > 0) {
img.css('cursor', '');
} else if (zoom_type == "full") {
img.css('cursor', 'zoom-out');
} else {
img.css('cursor', 'zoom-in');
}
$(".shm-zoomer").val(zoom_type);
if (save_cookie) {
shm_cookie_set("ui-image-zoom", zoom_type);
}
}
2012-08-15 18:46:51 +00:00
$(".shm-zoomer").change(function(e) {
2012-03-24 11:16:59 +00:00
zoom(this.options[this.selectedIndex].value);
2012-03-24 23:30:19 +00:00
});
2016-09-02 02:48:33 +00:00
$(window).resize(function(e) {
$(".shm-zoomer").each(function (e) {
zoom(this.options[this.selectedIndex].value, false)
2016-09-02 02:48:33 +00:00
});
});
2012-03-24 23:30:19 +00:00
2016-09-02 04:36:34 +00:00
$("img.shm-main-image").click(function(e) {
2024-02-21 03:56:10 +00:00
var val = $(".shm-zoomer")[0].value;
var cookie = shm_cookie_get("ui-image-zoom");
if (val == "full" && cookie == "full"){
zoom("both", false);
}
else if (val != "full"){
zoom("full", false);
}
else {
zoom(cookie, false);
2012-03-24 23:30:19 +00:00
}
2012-03-24 11:16:59 +00:00
});
if(shm_cookie_get("ui-image-zoom")) {
zoom(shm_cookie_get("ui-image-zoom"));
2012-03-24 11:16:59 +00:00
}
else {
zoom("both");
}
2012-03-24 11:16:59 +00:00
});