我对产品进行了一些评论,我想显示评论者的姓名,但如果用户点击该名称,则整个评论会展开。
这就是我尝试过这样做的方式
这是我页面的摘录
"<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";
});
});
});
});
此时此刻无效
答案 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>