Рассмотрим следующий код.
jQuery(function($) {
var position = $(window).scrollTop();
$(window).on("scroll mousewheel", function(e) {
var dir = false;
if (e.type == "mousewheel") {
dir = e.originalEvent.wheelDelta >= 0;
// True = Up; False = Down
} else {
var scroll = $(window).scrollTop();
dir = !(scroll > position);
// True = Up; False = Down
}
var imageWidth = $("img#big").width();
var stopImage = 800;
console.log(e.type, dir, imageWidth, stopImage);
if (imageWidth >= stopImage && !dir) {
var s = imageWidth - Math.min(imageWidth, $(document).scrollTop() * 20);
$("img#big").width(s);
}
});
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<img id="big" style="width: 1600px; min-width: 800px;" src="https://i.imgur.com/4ILisqH.jpg" />
Возможно, вы захотите узнать направление прокрутки пользователем. Если вы хотите увеличить размер.
Вы можете ограничить сжатие с помощью оператора if()
или CSS с помощью min-width
.