Как изменить размер изображения при прокрутке страницы?

Я создаю навигационную панель для веб-сайта, однако я не могу заставить это работать. Я хочу, чтобы логотип уменьшался при прокрутке вниз на сайте. Я пробовал анимацию webkit и несколько функций javascript / jQuery, но они не хотят сотрудничать. Это текущая функция, с которой я играл, и ей это не нравится. Как это исправить?

HTML:

<html>
    <body>
        <script>
            $(document).on("scroll", function() {
            if($(document).scrollTop() >= 1)
            {
                $(".nav .logo img").css('-webkit-transform', 'scale(.5, .5');
                $(".nav .logo img").css('-ms-transform', 'scale(.5, .5');
                $(".nav .logo img").css('transform', 'scale(.5, .5');
            }
            else 
            {
                $(".nav .logo img").css('-webkit-transform', 'scale(1, 1');
                $(".nav .logo img").css('-ms-transform', 'scale(1, 1');
                $(".nav .logo img").css('transform', 'scale(1, 1');
            }
        });​
        </script>
        <div class="nav">
            <div class = "logo">
                <a href = "index.html"><img src="Pics/siren.png" alt="" width="196" height="196"/></a>
            </div>
        </div>
    </body>
</html>

стиль CSS:

.nav{
    position: fixed;       
    top: 0;
    z-index: 1;
    width: 100%;
    height: 100px;
}
.nav .logo{
    position: fixed;
    text-align: left;
    z-index: 2;
    top: 0;
    bottom: 100px;
    overflow: hidden;
    opacity: .5;
}

2 ответа

  1. Вы могли бы сделать что-то подобное с jQuery:

    $(document).on('scroll', function() {
      if ($(document).scrollTop() >= 10) {
        $('.logo img').css('width', '50px');
      } else {
        $('.logo img').css('width', '');
      }
    });
    

    Полный пример здесь: https://jsfiddle.net/sL89qxcx/