如何扩展崩溃评论

时间:2014-08-18 13:29:13

标签: jquery

我对产品进行了一些评论,我想显示评论者的姓名,但如果用户点击该名称,则整个评论会展开。

这就是我尝试过这样做的方式

这是我页面的摘录

"<article class='reviews'>";
  $q = mysqli_query($link,"SELECT *FROM reviews WHERE product_id = '$pid' AND status = 
  '1' ORDER BY id DESC ");
  if (!mysqli_num_rows($q)){
    echo"There Are No Reviews For This Product Yet";}
  else{
    echo"<article class='reviewslatest'>",
  "<article class='reviewslatestheading'>Latest Customer Review</article>";
  while($row = mysqli_fetch_array($q)){
    echo "<article class='reviewsuser'>Review By - {$row['name']}</article>";
    echo "<article class='reviewsinfo'>",
    nl2br ($row['info']),
    "</article>";}}
  echo"</article>",
"</article>";

这就是我一直试图使用的jquery

jQuery(document).ready(function() {
  $(".reviewsuser").click(function () {
  $header = $(this);
  $content = $header.next();
  $content.slideToggle(500, function () {
  $header.text(function () {
  return $content.is(":visible") ? "Collapse" : "Expand";
});
});
});
});

此时此刻无效

1 个答案:

答案 0 :(得分:0)

这只是您考虑的开始 - FIDDLE

您的问题包含用于将数据从数据库移动到客户端的PHP代码,但我建议您只关注DOM的结构。

所以我的小提琴使用你的PHP代码“创建”理论DOM(我希望它看起来像你想要的那样),然后我只是设计它并添加了一个简单的jQuery命令。

JS不会完美地用于长篇评论,但可以根据您对DOM的可视化进行修改。

JS

$('.reviewsuser').on('click', function(){
        $('.reviewsinfo').slideToggle( "slow" );
});

编辑:将这些行放在标题中。

<link rel="stylesheet" href="http://code.jquery.com/ui/1.10.3/themes/smoothness/jquery-ui.css"/>
<script type="text/javascript" src="http://code.jquery.com/jquery-1.9.1.js"></script>
<script type="text/javascript" src="http://code.jquery.com/ui/1.10.3/jquery-ui.js"></script>