채택완료

slideup 이 반짝거립니다.

2018-04-25 (수) 13:41:40 2,373

처음에는 이렇게 선언 해 줬어요

<!doctype html>
<html>

그리고 html 입니다.

Copy
<div class="in_1200" id="up">
        <div class="sub_bg"></div>
        <nav class="main_nav">
              <ul>
                <li class="menu">
                    <div class="big_menu">info</div>
                    <ul class="sub">
                            <li class="sub_menu">1</li>
                            <li class="sub_menu">2</li>
                            <li class="sub_menu">3</li>
                            <li class="sub_menu">4</li>
                            <li class="sub_menu">5</li>
                        </ul>
                </li>
                
                <li class="menu">
                    <div class="big_menu">product</div>
                    <ul class="sub">
                            <li class="sub_menu">a</li>
                            <li class="sub_menu">b</li>
                        </ul>
                </li>
        </ul>
        </nav>
 </div>

제이 쿼리 3.2.1 을 걸어 줬구요

Copy
<script>
//메인네비 드롭다운  

var wid = $(window).width();    
        $('#up').hover(function () {
            if(wid > 1200){
                $('.sub, .sub_bg').stop(true,false).slideDown(500);
            };
        }, function () {
            $('.sub, .sub_bg').stop(true, false).slideUp(500);
        });
</script>

오직 ie 에서만 호버하면 (sub_bg는 잘되는데요) sub_menu가 순간 반짝 하고 등장했다가 그 다음에 정상적으로 슬라이드 다운이 됩니다.  이 반짝거림을 어떻게 없애야 할까요? 

답변 1개 / 댓글 1개

채택된 답변
+20 포인트

jQuery 버전에 따라 동작 방식이 달라서 그렇습니다.

특히 .stop()이 버전별로 차이가 심하더라고요.

jQuery 1.12.4 버전을 사용하시면 일단 ie에서는 정상작동 합니다만, 다른 브라우저도 체크해 보셔야 합니다.

똑같은 문제를 저는 fadeIn/Out에서 겪었었는데, .animate()로 우회 시도하다가 결국 포기하고 jQuery 버전 바꾸는 방법으로 해결했었네요.

답변에 대한 댓글 1개

제이쿼리 버전을 1.12.4.로 바꾸니까 호버는 잘 되는데 다른 스크립트가 엉망이 되는군요...ㅠㅠ 제이쿼리 stop부분만 1.12.4에서 따로 때와서 붙이는건 무리겠죠?

답변을 작성하려면 로그인이 필요합니다.