2010-08-07 4 views
1

블로그에서 작업 중이며 항목에 대한 의견을 남길 수 있도록 설정했습니다. 나는 얼마나 많은 수직 공간에 주석과 엔트리 폼을 사용하는지에 대해 마음에 들지 않는다. 그래서 나는 클릭 한 각 엔트리에 대한 링크를 갖고 싶다. 그러면 엔트리 폼과 코멘트가 드러난다. 나는 "Comments (5)"와 같은 링크를 생각하고있다. 나는이 사이트를 다른 사이트에서 항상 보지만 나 자신을 만드는 법을 모르겠습니다. 이 항목 중 하나에 대한 HTML의 일부입니다동적 숨기기 공개

:

<div class="comments"> 
<form action="foxpost.php" method="post"> 

<label for="name">Name</label><br> 
<input id="name" name="name" type="text" /><br> 
<label for="message">Comment</label><br> 
<textarea class="message" id="message" name="message"></textarea><br><br> 
<input type="hidden" name="post_id" value="7" /> 

<input type="Submit" value="Post Comment" /> 
</form> 
<?php 
displayComments(7); 
?>  

</div> 

displayComments를(); 함수는 데이터베이스에서 주석을 가져 오는 PHP입니다.

제가 생각할 수있는 유일한 방법은 to를 변경하고 각 댓글 영역에 다른 ID (예 : "comments2", "comments3"등)를 사용하고 document.getElementByID와 관련된 javascript 함수를 사용하는 것입니다.) .style.display를 사용하여 각 "commentsX"div에 대한 다른 CSS 항목을 변경하십시오. 그건 그냥 부풀어 것으로 보인다, 그래서 동적 방법을 공개하고 내 양식 및 PHP 함수를 숨길 수있는 쉬운 방법이 있는지 궁금하네요.

답변

2

당신이 쉬운 방법을 요구하기 때문에, 내가 jQuery를 갈 것이다, 그들에게 서로 다른 ID를 할당 할 필요가, 당신은 단지 클래스를 사용하지 않고 jQuery를 자동으로이 같은 해당 요소가 표시됩니다 :

$('a.comment').click(function(){ 
    $(this).nextAll('.form').slideDown('slow'); 
}); 

a.commentcomment 클래스의 링크를 나타내고 .form은 주석을 포함하는 요소의 클래스를 나타냅니다. 이 전체 의견의 사업부를 숨길 괜찮아 경우

0

, 당신은 그에게 ID 제공 할 수 있습니다 :

<div class=comments id=comments> 

및 일반 자바 스크립트를 보여줍니다 그는 자신이, 자기가 원하는 것을 제안했다

document.getElementById("comments").style.display = "block" 
+0

더 쉬운 방법을 아는 것 :) – Sarfraz

+0

각 코멘트의 div를 변경하여 보여주고 싶지 않았습니까? 그리고이 작은 변화와 한 줄로 충분히 쉽게 보입니다. – KeJi