2012-05-08 3 views
0

탐색 메뉴와 관련된 오류가 있습니다. 가리키면 javascript 오류가 나타납니다. '정의되지 않음'은 '$ (this) .calcSubWidth()'를 평가하는 함수가 아닙니다. menu.js에 있습니다. 그러나, 에로와 함께, 메뉴가 잘 작동합니다.

웹 사이트 : 당신이 줄 수있는 모든 도움에 감사드립니다 http://csenew.drdino.coresense.com

.

+0

관련 코드를 게시하면 SO 커뮤니티에서 문제를 훨씬 쉽게 찾을 수 있습니다. 그러나'calcSubWidth' 함수를 사용할 수없는 것처럼 들립니다. jQuery 객체에서 실행하려고하기 때문에'$ .fn'에 바인딩되어 있는지 확인하기 위해 두 번 다시 검사 할 수 있습니까? – rjz

+0

'calcSubWidth'가'jQuery.fn'에 추가 된 곳을 볼 수 있습니다 만, 왜 처리기에서 처리하는지, 왜 jQuery 객체에 나타나지 않는지 모르겠습니다. http://csenew.drdino.coresense.com/static/js/menu.js –

답변

2

나는 menu.js을보고 한 가지만 알아 챘다. megaHoverOver 함수 안에 플러그인 (calcSubWidth)을 생성 중입니다. 메뉴 항목을 가리킬 때마다 megaHoverOver이 호출되므로 매번 을 다시 정의합니다. calcSubWidth의 정의를 document.ready 함수의 맨 위로 이동하여 도움이되는지 확인하십시오.

다른 의견 - rowWidthcalcSubWidth에서 글로벌 사방으로 액세스하는 대신 반환하는 것이 좋습니다. 전역 변수는 디버깅 및 스코프 체인을 이동할 때의 성능 저하를 비롯한 여러 가지 이유로 사용하기에 적합하지 않습니다.

관련 문제