2012-01-23 4 views
1

내부적으로 연결된 div가 초점을 맞출 때 스타일을 지정할 수 있습니까? 마찬가지로 페이지 위쪽에있는 링크 (<a href="samepage.html#more">)를 div 아래쪽에있는 페이지 (<div id="more">)에 연결하면 다른 사람이 해당 div를 클릭 할 때 스타일이 어떤지 알 수 있습니다. 초점을 맞 춥니 다 (예 : 배경색을 변경하거나 클릭하면 테두리가 생기는 것처럼)? 정말 호버 스타일을 부여하는 것과 같지 않습니다. 활발히 또는 집중적으로 스타일을 지정하는 것보다 스타일을 더 많이 부여합니다. 그것을 할 방법이 있습니까?내부적으로 연결된 div가 포커스가되었을 때 스타일을 지정합니다.

내가 할 수있는 방법이 없는지, 아니면 밀도가 높고 쉬운 방법이 있는지 모르겠지만 지금까지 볼 수는 없습니다. 감사.

답변

1

당신은 window.onhashchange 이벤트에 자바 스크립트 기능을 결합해야합니다

window.onhashchange = function() { 

    var hashloc = window.location.hash; 

    // hashloc is a string like '#focusDiv' 
    // .. manipulate DOM 

}; 

jsFiddle 예를 들어 작업이 미니어처 jQuery를 사용하고, 해시 변경 이벤트가 발생할 때 집중 DIV에 CSS 클래스를 추가합니다.

jQuery는 기본적으로이 훅을 제공하지 않기 때문에 이벤트는 일반 JS를 사용하여 바인딩됩니다.이 훅은 매트가 언급 한 구형 브라우저에서 전혀 지원되지 않을 수 있습니다. 이 문제를 해결하려면 간단한 해시 이벤트의 경우 this jQuery plugin을 사용하는 것이 좋습니다.

+0

안녕하세요, paislee. 고마워. 'j'로 시작하는 모든 것에 너무 열정적이지는 않지만이 모든 것을 살펴볼 것입니다. 당신의 도움을 주셔서 감사합니다. – waterprism

+0

paislee, 고마워, 남자. 그렇게 할 것입니다. 그냥 테스트 해 봤어. 그것은 흔들린다. – waterprism

0

Divs에는 내가 알고있는 포커스 속성이 없지만 URL의 해시가 변경되면 이벤트에 바인딩 한 다음 해당 ID의 div로 변경 사항을 적용하고 싶을 것입니다. 해쉬의 값.

예를 들어,이 이벤트에 바인딩 : window.onhashchange - 일부 조정없이 최신 브라우저 (ie +, Chrome 5 이상, Firefox 3.6 이상 등)에서만 작동합니다.

+0

안녕하세요. 괜찮아. 감사. 아마도 테이블을 사용하면 될까요? URL에 이벤트를 바인딩하는 방법을 잘 모르겠습니다. 자바 스크립트를 사용 하시겠습니까? – waterprism

+0

예 - jQuery를 사용하는 것이 좋습니다. jQuery로 정말 쉽습니다. 사실, 다음과 같이 보일 것입니다 :'$ (window) .bind ("onhashchange", function (e) {// 여기에 스타일을 변경하십시오}),' – Matt

+0

좋아요. 고마워, 매트. 나는 그것을 들여다 볼 것이다. 고맙습니다. – waterprism

관련 문제