2013-07-06 4 views
2

에서 클릭하면 내가 jQuery로 페이지 스크롤 다운을 만들고 싶어, 자동 스크롤,하지만 또 다른 페이지에서이 페이지로 연결되는 링크에 클릭이있을 경우에만 가능합니다. 두 페이지 모두 같은 디렉토리에 있습니다. 링크 된 페이지에 clickevent가 발생하는 경우, '트리거'를 변경하는 방법을어떻게 페이지가 링크

var trigger; 
$(document).ready(function(){ 
if (trigger == 'on') { 
$('html, body').not('#jens').animate({ 
     scrollTop: ($('#geschaeftsstelle').offset().top) 
    }, 500, 'swing'); 
    } else { 
     return false}; 
    }); 

하지만 지금은 나도 몰라 :

페이지가 스크롤되는 코드입니다

$('#kontakt').click(function(){ 
trigger = 'on'; 
}; 

난 어떤 도움을 주셔서 감사합니다. 감사!

답변

0
$(document).ready(function(){ 
    if (window.location.hash) { 
    $('html, body').not('#jens').animate({ 
     scrollTop: ($(window.location.hash).offset().top) 
    }, 500, 'swing'); 
    } else { 
     return false 
    }; 
}); 

돈을 ' t은 간단 href="path-to-your-page.html#geschaeftsstelle" 같은 링크와이 없음 smth.click()

+0

감사를 사용하는 것을 잊지. 여기서 문제는 여전히 # 링크를 클릭하면 바로 #으로 건너 뛰고 스크롤 할 수 없다는 것입니다. 이벤트가 없으므로 preventDefault도 사용할 수 없습니다. 그럼에도 불구하고 페이지의 맨 위에있는 새 #anchor를 참조한 다음 실제로 가고 싶은 곳으로 스크롤합니다. – queerdancer

2

당신은 간단한 변수를 설정하고 모든 페이지로드에 덮어 쓰기 될 것이다, 그런는 전역 또는 뭔가를 선언 할 수 없습니다. 하지만 당신은 할 수 :

  1. 쿠키를 설정하고 당신이 다른 링크를 제어하는 ​​경우 (https://github.com/carhartl/jquery-cookie)
  2. 에 이동하고자하는 페이지의 그것과 반응

    , 당신은 적절하게 변경할 수 있습니다. 하나의 좋은 옵션은 앵커를 설정하는 것일 수 있습니다. 그러면 앵커가 자동으로 그 위치로 갈 것입니다. 아니면 매개 변수를 설정하고 얻을 수있는 window.location.pathname에서
0
당신이 시도 다른 페이지

에서 referrer url을 확인 document.referrer을 사용할 수 있습니다

:

$(document).ready(function() { 
    if (document.referrer.indexOf('url-you-want-test') !== -1) { // replace url-you-want-test with url you want to test abosulte url or file-name 
     $('html, body').not('#jens').animate({ 
      scrollTop: ($('#geschaeftsstelle').offset().top) 
     }, 500, 'swing'); 
    } 
}); 
관련 문제