2013-12-13 3 views
0

scrollTop을 사용하여 특정 div 함수를 사용하여 필수 머리글 요소를 스크롤하도록 내 사이트를 설정했습니다. 나는 특별히 사용자가 "헤더가 올라 있다는 것을 안다."하지만 후속 페이지에서 느리게 스크롤하도록 설정했지만 스크롤 된 위치에서 시작하는 것이 좋습니다.window.load scrollTop 애니메이션 속도를 페이지 기반으로 변경

간단한 if/else 문을 사용하여 wordpress 페이지 (is_home)를 가져 와서 애니메이션을 1200으로 설정하고 애니메이션을 0으로 설정하려고합니다. is_home과 True의 페이지. 그러나 여전히 작동하지 않습니다. 모든 아이디어를 수정하는 방법 if/else 또는 이것을 구현하는 더 좋은 방법에 대한 제안?

if (is_home()) { 
    $(window).load(function() { 
     $('html, body').animate({ 
      scrollTop: $("#grey").offset().top 
     }, 1200); 
    }); 
} else { 
    $(window).load(function() { 
     $('html, body').animate({ 
      scrollTop: $("#grey").offset().top 
     }, 0); 
    }) 
} 

답변

0

글쎄, if(is_home())는 JS에서 사용할 수 없습니다 워드 프레스 API,에서의 PHP 문입니다. 당신은 이것을 기반으로 다른 스크립트 호출을 포함 할 수 있지만 내 의견으로는 오히려 나쁜 습관입니다.

아래 내용이 플러그인 다음에 실행되는지, jquery가 분명하게 실행되는지 확인하십시오. 좋은 장소는 다음과 같습니다. wp_footer()

<?php 
if (is_home()) { ?> 
    <script> 
    $(window).load(function() { 
     $('html, body').animate({ 
      scrollTop: $("#grey").offset().top 
     }, 1200); 
    }); 
    </script>  
<?php } else { ?> 
    <script> 
    $(window).load(function() { 
     $('html, body').animate({ 
      scrollTop: $("#grey").offset().top 
     }, 0); 
    }); 
    </script> 
<?php } ?> 
+0

네을 피하기 위해 jQuery 대신 $를 사용 : 당신은 다음과 같이 코드를 다시 작성할 필요 is_home()는 PHP 문이다. 내 부분에 구피 실수. 감사! – cebronix

+0

문제 없습니다. 그건 그렇고, 내가 먼저 대답하고 위의 사람이 복사 : ( – SMacFadyen

+0

체크 표시를 이동했지만 누구도 upvote 수 없습니다. 아니 대표. – cebronix

0

PHP와 JavaScript를 함께 사용하고 있습니다.

<?php 
    if (is_home()) { 
?> 
     <script type="text/javascript"> 
      $(window).load(function() { 
       $('html, body').animate({ 
        scrollTop: $("#grey").offset().top 
       }, 1200); 
      }); 
     </script> 
<?php 
    } else { 
?> 
     <script type="text/javascript"> 
      $(window).load(function() { 
       $('html, body').animate({ 
        scrollTop: $("#grey").offset().top 
       }, 0); 
      }); 
     </script>   
<?php 
    } 
?> 

또한 충돌에게 다른 자바 스크립트 라이브러리

+0

멋지다. 그게 좋았어요. (is_home()) (is_front_page)로 바꿔야 만했지만 그것은 내가 필요로했던 바로 그 것이었다. 나는 PHP 대 js에 대해 생각하지 않았다. 고마워! – cebronix

+0

@cebronix 멋지다. – Sabari