은 여러 시간 동안이 문제를 해결하기 위해 노력해 왔으며 지금은 파악할 수 없습니다.jQuery TypeError .offset이 정의되지 않았습니다.
환경은 WordPress입니다. 한 페이지에서 다른 페이지의 위치로 링크를 선택할 때 스크롤을 부드럽게하는 부드러운 스크롤 기능을 사용하고 있습니다. 나는 점점 오전 오류가
...
형식 오류 :. $ (...) 오프셋 (...)는 정의되지
코드의 잘못된 줄은 ...
jQuery(document).ready(function($) {
var headerHeight = $('#header-wrap').height(); //When the header position is fixed
$('a').click(function(){
var hashEle = $(this).attr('href').split('#');
if (hashEle.length > 1) {
if (hashEle[1] == 'top') {
$('body, html').animate({
scrollTop: 0
},800);
} else {
jQuery('body, html').animate({
scrollTop: $('#'+ hashEle[1]).offset().top - headerHeight
},800);
}
};
})
// find element from url
hashname = window.location.hash.replace('#', '');
elem = $('#' + hashname);
if(hashname.length > 1) {
if(hashname == 'top') {
$('body, html').animate({
scrollTop: 0
},500);
} else {
$('body, html').animate({
scrollTop: $(elem).offset().top - headerHeight
},800);
}
};
});
내가 여기 미친려고하고
scrollTop: $(elem).offset().top - headerHeight
내 전체 기능이되고, 코드는 잘 작동하지만 우와와의 충돌을 만드는 oCommerce와 나는 오류가 발생하지 않도록하고 싶습니다. 누군가가 왜 이것이 문제를 일으키는 지 알 수 있습니까, 신비 질문에 대해 유감스럽게 생각합니다!
먼저 JQuery를 페이지에 포함 시켰습니까? ... elem이 실제로 존재하는지 디버그하려고합니다. console.log (elem)에 시도해보고 요소가 정의되어 있는지 확인하십시오. 여기에 결과를 게시하십시오 :) –
예 jQuery는 functions.php를 통해 맨 위에 포함되어 있습니다. 크롬 콘솔에 .log (elem)을 입력하면 SyntaxError : Unexpected token ...이 표시됩니다. 하지만 지금은 내가 var에서 elem = $ ('#'+ hashname)의 infront를 남겨 두었 기 때문에 그것을 볼 수있다. jquery와 javascript를 처음 사용함. :) – phlipinmi
안녕, 그건 문제가 안된다, 그것은 단지 현재의 범위로 변수를 유지하는 것입니다. 문제는 hashname 값에 JQuery 쿼리 선택기와 함께 사용할 수없는 토큰이 있다는 것입니다. console.log (hashname)가 반환하는 내용을 여기에 적어주십시오. 그러면 우리가 알아낼 것입니다. –