jquery resize, scroll 함수 관련 질문이있습니다.
본문
$(document).ready(function() {
function chkWidth(){
//scroll head
var width = $(window).width(); //realtime Width Value
var con = $(".head_pac_scroll");
if(width<1009){
con.css("display","none");
}else{
$(window).scroll(function(){ //scroll event
var position = $(window).scrollTop();
if(position >= 151){
con.stop().fadeIn(200);
}else if(position <= 150){
con.stop().fadeOut(100);
}
});
}
}
chkWidth() ;
$(window).resize(chkWidth);
});
원문 스크립트는 이렇게 작성하였습니다.
문제는 if ~ else 문에서 else 문이 한번 실행되면 scroll 함수가 if 일때도 실행이됩니다.ㅜㅜ
어느 부분이 잘못되었는지 찾기가 어려워서 질문올려봅니다..ㅜㅜ
!-->답변 1
스크립트 가 애매합니다.
$(document).ready(function() {
function chkWidth(){
//scroll head
var width = $(window).width(); //realtime Width Value
var con = $(".head_pac_scroll");
if(width<1009){ //width가 1009보다 작으면 감추는것을 알겠으나..
con.css("display","none");
}else{ // width가 1009이상일때는 스크롤이벤트를 타게하려는거 같은데
// 이건 순서가 뒤바뀐것입니다.
// $(window).scroll(function(){ //scroll event
var position = $(window).scrollTop();
if(position >= 151){
con.stop().fadeIn(200);
}else if(position <= 150){
con.stop().fadeOut(100);
}
// });
}
}
chkWidth() ; // 로딩시 호출됩니다.
$(window).resize(chkWidth); // 리사이징시 호출하려는것 같네요.
// 스크롤시에는요...??
// 여기에 스크롤시에 호출될 부분이 선언되어있어야 합니다.
$(window).scroll(chkWidth());
//이렇게 변경해보세요
});
답변을 작성하시기 전에 로그인 해주세요.