찌챠
10
2021-09-15 10:09:19
1
87

javascript 페이지 전환 한번만 사용하는법



<header>
<?
	if(preg_match("/graphics/",$_SERVER['REQUEST_URI'])) $location="GRAPHICS";
	if(preg_match("/homepage/",$_SERVER['REQUEST_URI'])) $location="HOMEPAGE";
	if(preg_match("/video/",$_SERVER['REQUEST_URI'])) $location="VIDEO";
?>

	<h2><?=$location?></h2>
	<nav id="menu">
		<ul>
			<li><a href="main.html">Main</a></li>
			<li <?=$ac1?>><a href="graphics.html?ck=1">Graphics</a></li>
			<li <?=$ac2?>><a href="homepage.html?ck=1">Homepage</a></li>
			<li <?=$ac3?>><a href="video.html?ck=1">Video</a></li>
		</ul>
	</nav>
</header>

html 코드가 이런 상황에서

$(document).ready(function(){
	$("header").css( { 'left' : '-100%' } );
		$("header").animate( { left : '0' }, 1000 );
		
		$("section").hide();
		setTimeout(function() {
			$("section").fadeIn(1000);
		}, 1000);
});


이렇게 하면 a 태그로 다른 페이지 이동할때 계속 이벤트가 실행되는데

처음 화면 들어왔을때만 실행되고 버튼 눌러서 다른페이지로 이동하면 실행이 안되었으면 합니다.


그러니까 A페이지에서 B,C,D페이지로 접속 했을때는 이벤트가 진행되지만

B페이지에서 C,D 페이지로 이동할때는 이벤트가 진행되지 않았으면 해요.


?ck=1 코드로

if(!ck) 를 쓰면 ck가 없을때의 A페이지에서 넘어올때도 사용이 안되네요.


간단한 문제인거 같은데 잘 안되어요.

click() 이벤트로 document 이벤트를 off 시킬수도 있을거 같고

if문으로 B 로컬에서는 사용안되게 할수도 있을거 같고

on() 이벤트도 줄수 있을거 같은데 이제 4개월차라 로컬관련 코드 연결이 어렵네요.

0
  • 답변 1

  • devprkms
    567
    2021-09-15 11:05:16

    현재 페이지의 url을 가져와서

    if문으로 분기시키는 방법도 있겠네요


    현재 페이지 url은 window.location.href로 구하시면 됩니다.

  • 로그인을 하시면 답변을 등록할 수 있습니다.