2017-04-07 2 views
0

나는 사용자가 다른 사용자의 게시물을 좋아할 수있는 시스템을 만들었습니다. 데이터가 내 DB에 삽입되었습니다. 내 유일한 문제는 게시물과 같은 사용자가 좋아하는 경우 버튼을 유지하는 방법에 대한 아이디어가 없었습니다. 사용자가 게시물을 좋아하고 페이지를 새로 고침/새로 고침 할 때도 마찬가지입니다.같은 시스템 트위터 스타일 버튼을 사용하는 방법

내 단추의 기본 아이콘이 회색 인 것 같습니다. 사용자가 버튼을 가리키면 애니메이션이 실행되고 사용자가 마주 칠 때 빨간색으로 바뀌게됩니다. 그러나 사용자가 같은 버튼을 누르면 언제부터 내가 버튼을 ... 내가 메신저 뭔가가 생각하지만 난 그것을 어떻게 어떤 생각을 가지고 있겠지 회색으로 돌려 다시로드 페이지를 ..... 실행 enter image description here

CSS

.coracao{ 
background: url("https://abs.twimg.com/a/1446542199/img/t1/web_heart_animation.png"); 
height: 50px; 
width: 50px; 
background-size: 2900%; 
background-position: left center; 

    top: -30px; 
    left: 0px; 
    position:absolute; 

} 
.coracao.ativo{ 
background: url("https://abs.twimg.com/a/1446542199/img/t1/web_heart_animation.png"); 
height: 50px; 
width: 50px; 
background-size: 2900%; 
background-position: right center; 

    top: -30px; 
    left: 0px; 
    position:absolute; 
    animation: none 0s !important; 
    -moz-animation: none 0s !important; 

} 
.btn:hover .coracao{ 
animation: animationFrames 1.4s steps(28) infinite; 
} 

@keyframes animationFrames{ 
    100%{ 
background-position: -2800px ; 

    } 
} 

내가 내가 여기에 몇 가지 조건 난 그냥 사용자의 데이터를 삽입 할 경우 이 버튼

<div class="btn like"> 
    <div class="boxcoracao"> 
     <span class="coracao" name="like"><br>&emsp;&emsp;&emsp;Love</span> 
    </div> 
</div>&emsp;&emsp;&emsp; 

이것은 ... 무엇을해야하는지에 대한 어떤 생각을 가지고 있겠지을 할 필요가 있다고 생각하고 그 당신이 게시물의 모든 쿼리 할 때 포스트 ID

<script> 
$(".like").click(function(){ 
    if ($('.boxcoracao .coracao',this).toggleClass("ativo")){ 
    togglePost("like"); // run function 
    } else { 
    // update the text to show what the next click would be 
    togglePost("dislike"); // run function 
    } 

function togglePost(action){ 

    $.ajax({ 
     type: "post", 
     url: "", 
     data: "", 
     success: function(data){ 
      window.location.reload(); 
     }, 
     error: function(e){ 
     alert("please try again..."); 
     } 
     }); 
} 

}); 
</script> 
+1

아약스 성공에 페이지를 새로 고치는 이유는 무엇입니까? 그런 다음 아약스를 사용하는 것은 의미가 없습니다. – ahmet

+0

데모 [fiddle] (http://jsfiddle.net)에 이것을 조합하면 사람들이 문제를 시도하고 디버그 할 수 있습니다. – tadman

+0

나는 바이올린을 사용하는 방법을 모른다. .. 미안 ..하지만 너는 그것을 시도 할 수있다. 나는 그것이 작동 할 것이라는 것을 안다. 유일한 문제는 내가 페이지를 다시로드해도 어떻게 아이콘을 유지할 수 있는가이다. –

답변

0

, 당신은 또한 같은 버튼의 내용을 설정 한 후 활성 사용자의 취향에 가입하고,에 의해 게시물의 상태 '처럼'을 당겨 필요 해당 플래그를 기반으로합니다.

저는 여러분의 예입니다. 페이지가로드 될 때 페이지를 처리 ​​할 PHP가 없습니다. 당신이 요구하는 것은 데이터베이스의 내용을 기반으로 페이지의 출력을 처리하는 서버 측 스크립트를 사용하는 경우에만 가능할 수있는 기능입니다.

연구 PHP 웹 응용 프로그램. 순수한 JS, HTML 및 CSS에서는이를 달성 할 수 없습니다.

+0

또한 사이드 노트와 마찬가지로 PHP에 대해 많이 언급했지만 실제로 이런 종류의 다른 언어와 웹 애플리케이션 프레임 워크를 사용할 수 있습니다. 당신은 할 일이 많으므로, 당신이해야 할 일은 '웹 어플리케이션 작성하기'를 연구하는 것입니다. 그게 당신이 있어야 할 곳으로 가야합니다. –