스크롤 이벤트에서 로고 크기 변경

Rabner Casandara

나는 JavaScript를 사용하여 아래로 스크롤하면 로고를 줄이고 위로 스크롤하면 커집니다.

jQuery addClassremoveClass기능을 사용 하고 있습니다.

몇 가지 문제가 발생합니다.

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
 $(function(){
      var navStatesInPixelHeight = [65,90];

      var changeNavState = function(nav, newStateIndex) {
        nav.data('state', newStateIndex).stop().animate({
          height : navStatesInPixelHeight[newStateIndex] + 'px'
        }, 600);
      };

      var boolToStateIndex = function(bool) {
        return bool * 1;    
      };

      var maybeChangeNavState = function(nav, condState) {
        var navState = nav.data('state');
        if (navState === condState) {
          changeNavState(nav, boolToStateIndex(!navState));
        }
      };

      $('.top_nav').data('state', 1);

      $(window).scroll(function(){
        var $nav = $('.top_nav');

        if ($(document).scrollTop() > 0) {
          $('.contact_details').hide();
          $nav.addClass('fixed-nav');
          $('.top_nav').css('background-color','rgba(33,33,33,1.0)');
          maybeChangeNavState($nav, 1);
        } else {
          $('.contact_details').show();
          $nav.removeClass('fixed-nav');
          $('.top_nav').css('background-color','rgba(0,0,0,.5)');
          maybeChangeNavState($nav, 0);
        }
      });
    });

    <header>
        <div class="top_nav">
        <div class="logo">
            <a id="site-logo" href="#"><img src="http://www.robinwhale.co.uk/pages/wisdom/sigs_files/google-logo.jpg" alt="LOGO"></a>
            </div>
            <div class="contact_details">
                <p>Need Help, Call: +92 445676654 |<a href="#"> Mail</a></p>
            </div>
            <div class="nav_bar">
                <ul>
                    <li><a href="#">Services</a></li>
                    <li><a href="#">Solution</a></li>
                    <li><a href="#">Support</a></li>
                    <li><a href="#">Partners</a></li>
                    <li><a href="#">Contacts</a></li>
                </ul>
            </div>
        </div>
    </header>
    <div class="container">
    </div>

    *{
        margin: 0;
        padding: 0;
    }

    /* Top Menu Start Here */

    .top_nav{
        height: 90px;
        width: 100%;
        background: rgba(0,0,0,.5);
        position: fixed;
        transition:all 0.7s ease;
        -webkit-transition:all 0.7s ease;
        -moz-transition:all 0.7s ease;
        -o-transition:all 0.7s ease;
        -ms-transition:all 0.7s ease;
    }

    .top_nav .logo{
        margin-top: 2px;
        margin-left: 20px;
        height: 75px;
        width: 200px;
        float: left;
        transition:all 0.7s ease;
        -webkit-transition:all 0.7s ease;
        -moz-transition:all 0.7s ease;
        -o-transition:all 0.7s ease;
        -ms-transition:all 0.7s ease
    }

    .top_nav .logo a img{
        height: 100%;
        width: 100%;
    }


    .contact_details{
        margin-top: 5px;
        margin-left: 1115px;
        min-height: 25px;
        min-width: 230px;
        float: right;
        color: #fff;
        position: absolute;
        transition:all 0.7s ease;
        -webkit-transition:all 0.7s ease;
        -moz-transition:all 0.7s ease;
        -o-transition:all 0.7s ease;
        -ms-transition:all 0.7s ease;
    }

    .contact_details p{
        font-size: 14px;
        text-align: center;
    }

    .contact_details p a{
        text-decoration: none;
        color: #fff;
    }

    .nav_bar{
        margin-left: 700px;
        margin-top: 55px;
        position: absolute;
    }

    .nav_bar ul{
        list-style-type: none;
    }

    .nav_bar ul li{
        display: inline-block;
        text-align: center;
        float: left;
    }

    .nav_bar ul li a{
        text-decoration: none;
        padding: 12px;
        margin: 8px;
        font-size: 20px;
        color: #fff;
        position: relative;
    }

    .nav_bar ul li a::after{
        content: '';
        display: inline-block;
        position:absolute;
        width: 0px;
        height: 5px;
        bottom: 0;
        left: 0;
        right: 0;
        margin: auto;
        background: #ff6600;
        transition: width .4s;
    }

    .nav_bar ul li a:hover::after{
        width: 100%;

    }

    /* After Scroll */

    }
    .fixed-nav .logo {
      height: 40px;
      width: 100px;
    }
    .fixed-nav .logo img {
      width: 100%;
    }
Anish

CSS 변경

고정 탐색에서 로고 높이를 업데이트해야합니다.

 .top_nav .logo{
    margin-top: 2px;
    margin-left: 20px;
    height: 75px;
    width: 200px;
    float: left;

    /* REMOVE transitions from here */
    /* 
    transition:all 0.7s ease;
    -webkit-transition:all 0.7s ease;
    -moz-transition:all 0.7s ease;
    -o-transition:all 0.7s ease;
    -ms-transition:all 0.7s ease;
    */
}

.top_nav .logo a img {
    transition: all 0.9s ease 0.7s;
}

.fixed-nav .logo img {
    height: 80% !important;
}

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

Excel에서 워크 시트 변경 기반 이벤트 매크로 끄기

분류에서Dev

Excel에서 워크 시트 변경 기반 이벤트 매크로 끄기

분류에서Dev

스크롤에서 보내고받은 SMS 색상 변경 목록보기

분류에서Dev

Bootstrap에서 스크롤 한 후 navbar에서 로고 및 글꼴 변경

분류에서Dev

스크롤 이벤트에서 특정 지점으로 스크롤하는 jQuery

분류에서Dev

SwiftUI TextEditor : 텍스트 변경시 맨 위로 스크롤

분류에서Dev

스크롤 / 크기 조정시 Navbar가 투명에서 검은 색으로 변경-로드?

분류에서Dev

자바 스크립트 가로 스크롤 텍스트, 색상 변경

분류에서Dev

jQuery로 스크롤에서 요소 위치 변경

분류에서Dev

스크롤에서 클래스 변경

분류에서Dev

navbar가 마우스 오버 / 스크롤 상태를 변경할 때 Bootstrap navbar 로고 이미지 변경

분류에서Dev

RecyclerView에서 ActionBar를 위로 스크롤하고 스크롤하여 숨기기

분류에서Dev

스크롤 이벤트 변경 css에 대한 Javascript 다음 기다린 다음 다시 변경

분류에서Dev

스크롤 목록보기에서 이미지보기가 자동으로 변경됨

분류에서Dev

경고시 이미지 크기 변경

분류에서Dev

페이지 스크롤에서 동적으로 스타일 변경

분류에서Dev

스크립트로 Animator 컨트롤러 변경

분류에서Dev

입력 유형 스크립트에서 이벤트 값 변경

분류에서Dev

브라우저 크기를 감지하고 자바 스크립트 함수 컨트롤을 라이브로 변경하는 방법

분류에서Dev

아래로 스크롤 할 때 로고 크기를 변경하고 일부 Div를 숨기는 방법

분류에서Dev

마우스 휠 상 / 하 이벤트로 마우스 크기 변경

분류에서Dev

기본 어댑터에서 스크롤 한 후 TextView 값이 이전 값으로 다시 변경됩니다.

분류에서Dev

CSS에서 스크롤이 비활성화 된 경우 jQuery로 스크롤

분류에서Dev

완벽한 스크롤로 스크롤 바 변경

분류에서Dev

Angular 9는 변경 될 때마다 경로에서 위로 스크롤

분류에서Dev

변경 이벤트 자바 스크립트에서 동적으로 추가 된 행

분류에서Dev

스크롤 이벤트 중 액션 바 알파 변경

분류에서Dev

비 ActiveX 스크롤바 변경 이벤트?

분류에서Dev

쉘 스크립트 내에서 경로 변수 내보내기

Related 관련 기사

  1. 1

    Excel에서 워크 시트 변경 기반 이벤트 매크로 끄기

  2. 2

    Excel에서 워크 시트 변경 기반 이벤트 매크로 끄기

  3. 3

    스크롤에서 보내고받은 SMS 색상 변경 목록보기

  4. 4

    Bootstrap에서 스크롤 한 후 navbar에서 로고 및 글꼴 변경

  5. 5

    스크롤 이벤트에서 특정 지점으로 스크롤하는 jQuery

  6. 6

    SwiftUI TextEditor : 텍스트 변경시 맨 위로 스크롤

  7. 7

    스크롤 / 크기 조정시 Navbar가 투명에서 검은 색으로 변경-로드?

  8. 8

    자바 스크립트 가로 스크롤 텍스트, 색상 변경

  9. 9

    jQuery로 스크롤에서 요소 위치 변경

  10. 10

    스크롤에서 클래스 변경

  11. 11

    navbar가 마우스 오버 / 스크롤 상태를 변경할 때 Bootstrap navbar 로고 이미지 변경

  12. 12

    RecyclerView에서 ActionBar를 위로 스크롤하고 스크롤하여 숨기기

  13. 13

    스크롤 이벤트 변경 css에 대한 Javascript 다음 기다린 다음 다시 변경

  14. 14

    스크롤 목록보기에서 이미지보기가 자동으로 변경됨

  15. 15

    경고시 이미지 크기 변경

  16. 16

    페이지 스크롤에서 동적으로 스타일 변경

  17. 17

    스크립트로 Animator 컨트롤러 변경

  18. 18

    입력 유형 스크립트에서 이벤트 값 변경

  19. 19

    브라우저 크기를 감지하고 자바 스크립트 함수 컨트롤을 라이브로 변경하는 방법

  20. 20

    아래로 스크롤 할 때 로고 크기를 변경하고 일부 Div를 숨기는 방법

  21. 21

    마우스 휠 상 / 하 이벤트로 마우스 크기 변경

  22. 22

    기본 어댑터에서 스크롤 한 후 TextView 값이 이전 값으로 다시 변경됩니다.

  23. 23

    CSS에서 스크롤이 비활성화 된 경우 jQuery로 스크롤

  24. 24

    완벽한 스크롤로 스크롤 바 변경

  25. 25

    Angular 9는 변경 될 때마다 경로에서 위로 스크롤

  26. 26

    변경 이벤트 자바 스크립트에서 동적으로 추가 된 행

  27. 27

    스크롤 이벤트 중 액션 바 알파 변경

  28. 28

    비 ActiveX 스크롤바 변경 이벤트?

  29. 29

    쉘 스크립트 내에서 경로 변수 내보내기

뜨겁다태그

보관