2017-09-21 15 views
0

앵커 기반 웹 사이트가 있습니다.JS/Ajax를 사용하여 앵커 URL을 동적으로 가져옵니다.

예 : 기본 URL은 domain.com입니다.

이 웹 사이트의 다른 섹션에는 domain.com/#section1이라는 URL이 있습니다.

또 하나의 섹션에는 domain.com/#section2이라는 URL이 있습니다. 내가의 webiste의 전체 URL 내가

window.location.href

을 사용 얻기 위해 시도했지만 내 페이지를 아래로 스크롤 할 때 URL이 domain.com/#section1로 변경

내 'window.location.href didn를 변화.

내 JS :

$anchor = window.location.hash; 

    if($anchor == "#kraftwerk-82"){ 
     $(".starting-logo.default-logo").attr("src","/logo_main.png"); 
     $(".starting-logo.default-logo").attr("srcset","/logo_main.png 1x, /retina_logo.png 2x"); 
    }else{ 
     $(".starting-logo.default-logo").attr("src","/logo_main_white.png"); 
     $(".starting-logo.default-logo").attr("srcset","/logo_main_white.png 1x, /retina_logo_white.png 2x"); 
    } 

어떻게 동적으로 바로 앵커 JS를 사용하여 함께 URL을 얻을 수 있나요?

yourHash = window.location.hash.substring(1) 

UPDATE II

당신이 해시를 변경해야 스크롤

if(window.location.hash){ 
    console.log(window.location.href + window.location.hash); 
}else{ 
    console.log(window.location.href); 
} 

UPDATE :에만 해시 태그를 얻기 위해

+0

당신이 jQuery를 사용하는가? –

+0

예. 내가 올바른 href를 얻은 후에 if 문에 사용하고 있습니다. –

+0

앵커 변경 기능은 어디에 있습니까? 스크롤하면? –

답변

1

당신은 window.location.hash를 사용할 수 있습니다. 예 :

var anchor_top = $('a[href="#kraftwerk-82"]').offset().top; 

$(window).on('scroll', function() { 
    if ($(window).scrollTop() > anchor_top) { 
     window.location.hash = '#kraftwerk-82'; 
    } 
}); 

그리고 기능에 대한

은 지금 해시 무엇을 확인하실 수 있습니다라고 :

Function track(){ 
    $anchor = window.location.hash; 
    if($anchor == "#kraftwerk-82"){ 
     $(".starting-logo.default-logo").attr("src","/logo_main.png"); 
     $(".starting-logo.default-logo").attr("srcset","/logo_main.png 1x, /retina_logo.png 2x"); 
    }else{ 
     $(".starting-logo.default-logo").attr("src","/logo_main_white.png"); 
     $(".starting-logo.default-logo").attr("srcset","/logo_main_white.png 1x, /retina_logo_white.png 2x"); 
    } 
} 
+0

죄송합니다. 내 질문에 명확하지 않았습니다. 나는 아래로 스크롤 할 때 내 웹 사이트의 전체 URL을 동적으로 표시하는 기능을 원합니다. 예 : 나는'console.log'와 got-'domain.com'을 만들었습니다. 다른 섹션으로 스크롤하면'console.log'가 나에게'domain.com/# section1'을 동적으로 돌려 주어야합니다. –

+1

해시 태그가 존재하는지 검색하여 URL을 만들 수 있습니다. 업데이트를 시도하십시오 –

+0

'console.log'를 스크롤 다운하면 여전히 첫 번째 앵커가 표시됩니다. 그것은 동적으로 다른 앵커를 보여주지 않습니다 ... –