하이퍼링크 지연 이동

하이퍼링크 지연 이동

QA

하이퍼링크 지연 이동

본문

안녕하세요

 

하이퍼링크 지연 이동을 시키려고 합니다.

 

https://sir.kr/qa/50388

 

위 글을 참고 해보려 했으나 여의치 않고 다른 소스를 참고 해서

 


<a href="javascript:link()" ...><?php echo $row['me_name'] ?></a>
<script>
function link() {
    setTimeout(function() {
        location.href = '<?php echo $row['me_link']; ?>';
    }, 2000);
}
</script>

 

head.php 파일에 위와 같이 적용 해보았는데 안되네요..

2초 후에 그냥 현재 페이지가 다시 로딩이 됩니다 ㅜ

location.href = '<?php echo $row['me_link']; ?>';

이 부분에 원래 주소를 직접 입력해야 하는데 그럴 수 없으니...

$row['me_link']; 변수를 사용할 수 있는 영역인 것 같은데 아닌가요 ㅠ

 

도움 부탁드리겠습니다.

 

감사합니다.

 

이 질문에 댓글 쓰기 :

답변 4


<a href="<?php echo $row['me_link'] ?>" class="me_link"><?php echo $row['me_name'] ?></a>
<script>
$('.me_link').on('click', function(e) {
  e.preventDefault();
  if (this.href) {
    var target = this.href;
    setTimeout(function(){
      location.href = target;
    }, 2000);
  }
});
</script>

<a href="javascript:link('<?php echo $row['me_link']; ?>')" ...><?php echo $row['me_name'] ?></a>
<script>

var link_url = "";
function link(url) {

link_url = url;
    setTimeout(function() {
        location.href = link_url;
    }, 2000);
}
</script>

$row 의 값들이 각 역할에 대해 적당한 값을 가지고 있는 경우 문제없이 동작하는 소스입니다.


<?php
$row = [
    'me_name' => 'click',
    'me_link' => 'https://sir.kr'
];
?>
<a href="javascript:link()" ...><?php echo $row['me_name'] ?></a>
<script>
function link() {
    setTimeout(function() {
        location.href = '<?php echo $row['me_link']; ?>';
    }, 2000);
}
</script>
 

<a href="<?php echo $row['me_link']; ?>" id="link-<?php echo $row['me_id']; ?>">
  <?php echo $row['me_name']; ?>
</a>
<script>
function linkRedirect(id) {
  const link = document.getElementById(id);
  setTimeout(() => {
    location.href = link.href;
  }, 2000);
}
linkRedirect('link-<?php echo $row['me_id']; ?>');
</script>


아니면, 이동전에 물어보게 할 수도 있어요.


 
<a href="<?php echo $row['me_link']; ?>" id="link-<?php echo $row['me_id']; ?>" onclick="return confirm('링크를 이동하시겠습니까?');">
  <?php echo $row['me_name']; ?>
</a>
<script>
function linkRedirect(id) {
  const link = document.getElementById(id);
  setTimeout(() => {
    if (confirm('링크를 이동하시겠습니까?')) {
      location.href = link.href;
    }
  }, 2000);
}
linkRedirect('link-<?php echo $row['me_id']; ?>');
</script>
답변을 작성하시기 전에 로그인 해주세요.
전체 12
QA 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT