2011-12-01 3 views
2

메인 탐색 기능이있는 html 문서가 있고 하위 탐색 기능은 앵커로 구성되어 있습니다. 내가 시도하고있는 것은 문서를 스크롤하는 동안 클래스를 앵커 (하위 탐색)로 토글하는 것입니다.JQuery : 스크롤하는 동안 앵커에서 클래스 토글

$(function() { 

    $(window).scroll(function() { 

    //define position where i want to know the class 
    var elem = document.elementFromPoint(400, 300) // x, y 

    //read the class at position 
    el = $(elem).attr('class'); 

    //get substring of last class in element 
    //last classes are class_1, class_2, class_3, aso. 
    subclass = el.substr(el.length-1); //throws an error "el is not defined" 

    //toggle class 
    $('a.class_'+subclass).toggleClass('additionalClass'); 


}); 

그것은 더 많거나 적은 작동 : jQuery로

나는 다음 시도했다. 여기 내 두 가지 질문이다 : 그것은 오류가 발생 않는 이유

  1. 결과가 "깜박" "엘이 정의되지 않은"는 같은 클래스, 예를 들어, 많은 연속적인 요소가 있기 때문에 "class_1". 실제 값 (예 : "1"은 다른 클래스가없는 한 내가 클래스를 읽는 위치에 저장됩니까?

도움 주셔서 감사합니다. jQuery 웹 사이트에서

파비안

+0

'elem'이 (가) 있습니까? 그리고 jQuery에서 : jQuery 1.6에서'.attr()'메소드는 설정되지 않은 속성에 대해'undefined'를 리턴합니다. – Marnix

+0

또 다른 문제는 아마도 : document.elementFromPoint를 요구하고있을 것입니다. 이것은 항상 동일합니다. 브라우저에 따라'window'에 물어볼 필요가 있다고 생각합니다 : http://www.zehnet.de/2010/11/19/document-elementfrompoint-a-jquery-solution/ – Marnix

+0

'elem'이 존재합니다. 'window.elementFromPoint'가 작동하지 않습니다. '.attr()'이'undefined'를 반환 할 때'subclass'가 변경되지 않기를 바랍니다. 나는. 마지막 유효 값이 저장되고 다음 유효한 값이 읽 t 질 때까지 리턴됩니다. 고마워요. –

답변

0

견적 :

jQuery를 1.6로, .attr() 방법은 설정되어 있지 않은 속성 undefined 반환합니다.

사용할 수있는 속성이 class인지 확인하십시오.