0

この 4 時間は、tumblr ブログの「今日の名言」表示用のスクリプトを作成するのに費やしました。私はjavascriptの初心者です。では、javascript について教えてください。それを機能させるために何を変更する必要があるか教えてください。また、スクリプトが生成するテキストを次のようにフォーマットするにはどうすればよいですか?:

<script type="text/javascript">
    var now = new Date();
    var todayAtMidn = new Date(now.getFullYear(), now.getMonth(), now.getDate());
    var quoteTag = getElementsByTagName("div")
    for (var i = 3; i < quoteTag.length; i++)`
    var quoteDate = document.getElementsByTagName("div");
    for (var i = 3; i < quoteDate.length; i++) {
        if ((quoteDate[i].getAttribute("class") == "date") && (quoteTag[i].getAttribute("class") == "tag")) {
            if ((todayAtMidn.getTime() == quoteDate.getTime()) && (quoteTag == 'QOT')) {
                document.write("Quote Of the Day:{Quote}")
            } else {
                document.write('Thank God, its a new day!');
            }
        } else {
            document.write('Thank God, its a new day!')
        }
    }
</script>

私がやろうとしていたのは、引用投稿にタグ「QOT」があり、現在の日付(つまり今日)に投稿された場​​合、通常の引用投稿の1つからコンテンツ/テキストを取得することでした。すると、その文章・内容が「今日の名言」としてウェブサイトの特設ページに表示されます。

こちらが私のウェブサイトです: teamnigeria.tumblr.com

4

1 に答える 1

0

それでは、次から始めましょう。

  1. 最初は

    (function () {
    
    var post=null;
    
  2. 現在のページの投稿をループします。

    var posts=getPosts();
    var midnight_today=getMidnight();
    
    for(var i=0, l=posts.length; i<l; i++) {
    
  3. タグが付いた最初の投稿が見つかり、QOTそれが今日投稿されたときに停止します

       var post_time = getPostTime(post[i]);
       if (postHasTag(posts[i], 'QOT') && post_time > midnight_today) {
           post = posts[i];
           break;
       }
    
    }
    
  4. 投稿が見つからない場合: 見積もりを「今日の見積もりはありません」に設定します

    if (post === null) { 
        setQuote("No quote picked for today");
    } else {
    
  5. それ以外の場合: 引用を見つけた投稿のテキストに設定します

        setQuote(getQuoteFromPost(post));
    }
    
    })();
    

すべての未定義関数が定義されている場合、これはあなたが求めることを行います。


tumblr ページのすべての投稿にはクラスがpostあり、引用の投稿にはクラスがあるquoteため、jQuery を指定します。

(function () {
  var quotes = $("div.post.quote");
  if (quotes.length > 0) {
    $('div#header > h8').empty().append(
      quotes.first().find("div.content > blockquote").clone()
    );
  }
})();

は、毎日の引用をページの最初の引用に置き換えます。引用がない場合は、のコンテンツがdiv#header > h8プレースホルダー コンテンツとして残ります。これが日付もチェックする場合は、内容を解析しdiv.post.quote > div.dateて日付を比較する必要があります。

于 2012-05-27T16:53:22.163 に答える