2

だから私は、短編小説のすべての段落をクリックすると、その下にコメントが表示され、各段落のコメントの量に応じて、コメントの色が濃淡のグラデーションで変化するようにしようとしています。

これまでのところ、次のようになります。

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

「簡単なコメント」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);

編集: ajax が ec-total 内のテキストを変更するのに時間がかかるため、setimeout を追加しました

于 2013-01-02T02:26:38.517 に答える