2

所以我试图让短篇小说的每一段在你点击它们时都有评论,并且评论也会随着每段评论的数量而改变颜色的强度。

到目前为止看起来像这样:

http://www.miraclejones.com/cathedral.html

我正在使用“Easy Comment”Jquery 插件在我的每个手风琴中添加评论——效果很好——但是在根据数量改变段落颜色时,我遇到了困难,或者仅仅是存在,评论。

这是我最后一个好主意,但我无法让它发挥作用,我不知道为什么:

     if ($("#paragraph1 .ec-comment-pane div.ec-total:contains('0')")>0) {
 $("#h31").css("backgroundColor","pink");}
 else {
 $("#h31").css("backgroundColor","green");
 }

任何帮助将不胜感激。我是一名小说作家,不是一个程序员,但我很想以这种风格出版我的下一个系列。如果您有任何问题,或者我可以进一步解释什么,请告诉我。

4

2 回答 2

1

你可以这样做:

$('.ui-accordion-header').each(function( index, element ){
 if( $(element).height() > 100 ){
  $(element).css("backgroundColor","pink");
 }else{
  $(element).css("backgroundColor","green");
  $(element).css("color","white");//nice contrast, just for example
 }
});

这将使大区域具有粉红色背景,而小区域具有绿色背景。请注意,绿色很难阅读黑色文本,也许您还应该将那里的文本着色为白色,或者选择不同的颜色。无论如何,我认为这些颜色可能只是一个例子。

于 2013-01-02T02:26:55.147 回答
0

试试看,条件是长度

if ($("#paragraph1 .ec-comment-pane div.ec-total:contains('0')").length >0) {
 $("#h31").css("backgroundColor","pink");}
 else {
 $("#h31").css("backgroundColor","green");
 }

或者

color = function(){
  $('.ec-total').each(function(){
    count = parseInt($(this).text());
    if(count > 0)
       $(this).closest('.ui-accordion-content').prev().css("backgroundColor","pink");
    else
       $(this).closest('.ui-accordion-content').prev().css("backgroundColor","green");
  });
}
setTimeout(function(){ color(); }, 1000);

编辑:添加了setimeout,因为ajax需要一些时间来修改ec-total里面的文本

于 2013-01-02T02:26:38.517 回答