我使用的是jQuery同位素。我发现了如何在点击后重新布局,当它显示评论的文本区域时。
但我的问题在于jQuery,当你点击评论按钮时,它会打开页面上的所有评论框,而不是单个评论。
我想知道是否可以将我的COMMENT_ID放在脚本中,这样它只打开一个框,而不是所有框。
我的代码:(不起作用)
$('.commentopen').click(function() {
$('.comment '<php echo $LOGGER_ROW['COMMENT_ID'] ?>').slideDown(1000, function() {
$('#container').isotope('reLayout');
});
});
感谢您的帮助。
在呈现HTML时,如果为每个注释赋予href属性,则可以使用jquery attr()
函数获取该引用并只显示该注释。
例如:
$('.comment').click(function() {
var id = $(this).attr('href');
$('.comment#' + id).slideDown(1000, function() {
$('#container').isotope('reLayout');
});
});
我对您的代码做了一些更改,使所有注释都被视为.comment类元素。
每个评论都有一个唯一的id,因此打开了所有可用评论中正确的一个。
以下是一个有效的解决方案:http://jsfiddle.net/HDBwY/
希望能有所帮助。
您的语法不好。考虑一下这个片段:
$('.comment '<php echo $LOGGER_ROW['COMMENT_ID'] ?>').slideDown
当你替换PHP时,它变成:
$('.comment 'x').slideDown
这里多了一句话。也许应该是一英镑?
$('.comment #<php echo $LOGGER_ROW['COMMENT_ID'] ?>').slideDown
$('.commentopen').click(function() {
var id = $(this).attr('id');
$('.comment' + id).slideDown(180, function() {
$('#container').isotope('reLayout');
});
});
这就是我最终所做的(仍然不起作用),我给每个文本区域(.comment)一个id,然后我给评论链接打开文本区域(.commotopen)一个完全相同的id,然后使用这个函数,我获得了与评论相同的id。在html中,它们似乎是逐行匹配的。但它似乎仍然不起作用。