2013-12-17 3 views
0

나는 html을 추가하여 html 이름의 앵커 역할을하는 뉴스 티커를 가지고 있습니다. 하나의 href를 클릭하면 URL에 #name이 추가됩니다. 여기 는 ... href를 #names와 뉴스 시세입니다url에 #name이 추가 된 경우 자바 스크립트 기능

<div id="ticker-wrapper" class="no-js"> 
<ul id="js-news" class="js-hidden"> 
    <li> 
     <a href="#boxone">text</a> 
    </li> 
    <li> 
     <a href="#boxtwo">text</a> 
    </li> 
</ul> 

당신이이처럼 보이는 HTML 이름으로가는 링크 중 하나를 클릭

<a name="boxone"></a> 

내 시세를 제외한 모든 작품은 속도와 불투명도와 같은 모든 설정을 무시합니다. 내 솔루션은 URL에 #name을 추가 할 때 뉴스 티커를 재설정하는 함수를 사용하는 것이 었습니다. 그래서 처음에 내 URL이 때 ...

www.blah.com/users/1 

내 뉴스 시세는 잘 작동한다. 그럼 당신은 ...에 대한 URL 변경 종목 뉴스에

www.blah.com/users/1#boxone 

을 A HREF을 클릭하고 모든 뉴스 티커 설정이 작동을 중지합니다. 내 기능은 ... 시세가 재설정

<script type="test/javascript"> 
function restartTicker() { 
    // play ticker 
    settings.play = true; 
    settings.paused = false; 
    // start the ticker again 
    postReveal(); 
} 

질문 당신은 어떻게 # NAME가 URL에 추가됩니다 함수를 호출 할 수 있습니까? 감사합니다.

EDIT 나는 onhashchange를 추가하려고 시도했습니다. 이 올바른지? 기능이 원하는대로 작동하지 않는지 궁금합니다.

<script> 
if ("onhashchange" in window) { 

$.fn.ticker.defaults = { 
    speed: 0.10,    
    ajaxFeed: false, 
    displayType: 'fade', 
    htmlFeed: true, 
    debugMode: true, 
    controls: true, 
    titleText: 'Latest News: ',  
    pauseOnItems: 3000, 
    fadeInSpeed: 300, 
    fadeOutSpeed: 300 
}; 
} 
</script> 

답변

1

확인 창 밖으로 이벤트를 onhashchange.

+0

구현이 닫혀 있습니까? – DDDD

+1

'if ("onhashchange"in window)'는'window.onhashchange '가 존재하는지 (즉, 브라우저가이 이벤트를 지원하는지) 검사 할 것입니다. 실제로'window.onhashchange = restartTicker; '를 직접 설정하거나'window.addEventListener ("hashchange", restartTicker, false); 이벤트 리스너를 추가하여 일부 함수에 실제로 바인딩해야합니다. –

+1

나는 window.onhashchange = restartTicker를 시도했다; 이것은 당신이 지적한대로 작동하는 것 같습니다. 제 문제는 jquery입니다. 주제를 벗어. 감사. – DDDD