다른 페이지 이동 후 스크롤 이동

다른 페이지로 이동 후 원하는 위치로 스크롤 이동하고 싶습니다.

html 작성시 <a href="main.html#contact"> 로 하면 되는데 django는 이 방법이 안되는건가요? ㅠㅠ

[view.py]

def contact(request):

    return render(request, 'theme/main.html')

[contact.html]

<a href="{%url 'contact'%}">문의하기</a>

현재 이렇게 되어있습니다 ㅠㅠ contact.html 페이지에서 링크를 눌렀을 때

main.html의 contact 영역으로 스크롤 이동이 되고싶습니다 ㅠㅠ

답변 2개 / 댓글 10개

2020-05-18 (월) 22:58:53

해결하셧나요?

2020-05-13 (수) 12:32:46

main 으로 갈때마다 그렇게 되도록 하려면

Copy
def contact(request):

    return render(request, 'theme/main.html#contact')

혹은 main.html 에서 load 함수에 넣으면 안될까요?

답변에 대한 댓글 10개

저도 그렇게 시도해봤는데 안되더라구요 ㅠㅠ.. 혹시 main.html에서 load 함수에 넣는다는 것이 어떤 의미인지 자세하게 알 수 있을까요?
main.html 에서 jquery 함수를 만드는거죠

[code]
$( document ).ready(function() {
var offset = $("#contact").offset();
$('html, body').animate({scrollTop : offset.top}, 400);
});
[/code]
제가 contact.html 에서 main.html에 있는 #contact로 이동하는건데,
jQuery 문법을 잘 몰라서. . 어디 위치에 저걸 삽입해야할지 ㅠㅠ.. 혹시 도움주실 수 있으실까요?
jquery 를 사용할수 있다는 전제하에
해당 함수는 main.html 의 javascript 영역 아무곳이나 넣으셔도 됩니다.
오 됐어요!! 진짜 감사합니다 ㅠㅠ 엄청 머리싸고 있었는데..
혹시 한가지만 더 여쭤봐도 될까요?
main.html에 저 코드를 넣을 경우 contact에서 이동할 때 말고도
main을 클릭해도 저 위치로 내려가서요 ㅠㅠ 이걸 막으려면 어떻게 해야할지 알 수 있을까요?
음... 안해봤지만 referrer 검사로 하면 되지 않을까요?

[code]
$( document ).ready(function() {
if (document.referrer.indexOf("contact") !== -1) {
var offset = $("#contact").offset();
$('html, body').animate({scrollTop : offset.top}, 400);
}
});
[/code]
처음 한번을 제외하고는 main을 클릭하든 contact을 클릭하든 무조건 스크롤이 되네요 ㅠㅠ 조금 더 고민해보겠습니다. 혹시 또 다른 조언이 있으시다면 부탁드립니다. 많은 도움주셔서 정말 감사합니다 !!:)
document.referrer 를 표시 해보면서 구분해보시면 될겁니다.
그게 아니라면 고민좀 해봐야 되구요
혹시 처음 답변하신거 처럼 #contact 이거 넣어둔건 아니시죠? 이거 쓴거 있으면 다 지우세요
넵 없습니다! 아직도 고민중이네요 ㅠㅠ

답변을 작성하려면 로그인이 필요합니다.