現在、別ページの新着RSSフィードをGoogle AJAX Feed APIで取得しトップページに新着タイトルを表示させるようにしています。
このタイトルに一定期間new表示をさせるには、どこに何を記述すれば良いのかを教えて頂きたいのです。
現在トップページには次のようなJavascriptを記述しております。
<script type="text/javascript">
var _handleJson = function( json ) {
if ( json.responseStatus != 200 ) return;
var i, d, t = '<ul>', e = json.responseData.feed.entries;
for ( i = 0; i < e.length; i++ ) {
d = new Date(e[i].publishedDate);
t += '<li>' + '<a href="' + e[i].link + '">' + e[i].title + '</a> '
+ '(' +(d.getFullYear() - 2000) + '/' +(d.getMonth() + 1) + '/'+d.getDate() + ')' +'</li>';
}
document.write( t + '</ul>' );
};
(function() {
var blogUrl = 'http://******.com/rss15.xml';
var apiUrl = 'http://ajax.googleapis.com/ajax/services/feed/lo …
document.write( '<sc' + 'ript type="text/javascript" src="' + apiUrl + encodeURIComponent(blogUrl) + '"></sc' + 'ript>');
})();
上記の記述で「後期会員募集が始まりました(10/09/01)」と最新の記事タイトルが表示されるようになりました。
これを「後期会員募集が始まりました(10/09/01)new!」としたいのです。
上のスクリプトのどこに一定期間newを表示させるスクリプトを記述すれば良いでしょうか?
申し訳ありませんが、何卒ご教授宜しくお願い致します。
No.3ベストアンサー
- 回答日時:
さっきのを、汎用的にも使えるように、
わかりやすく、配置しなおしたつもりです。
(コメントは入れなかったけど、ソースはさっきより、追いやすいですよね)
<body>
<p>
<h3>記事一覧</h3>
<div id="container">Loading...</div>
<script type="text/javascript" src="http://www.google.com/jsapi"></script>
<script type="text/javascript">
google.load("feeds","1");
google.setOnLoadCallback(function(){
(function(container,url){
var feed = new google.feeds.Feed(url);
feed.setNumEntries(10);
feed.setResultFormat(google.feeds.Feed.JSON_FORMAT);
feed.load(function(result){
if(result.status.code=="200"){
while(container.hasChildNodes())
container.removeChild(container.firstChild);
var ul = document.createElement("ul");
ul.style.listStyleType = 'none';
for(var i=0;i<result.feed.entries.length;i++){
var d = new Date(result.feed.entries[i].publishedDate);
var today = new Date();
var li = document.createElement("li");
var a = document.createElement("a");
a.href = result.feed.entries[i].link;
a.appendChild(document.createTextNode(result.feed.entries[i].title));
li.appendChild(a);
li.appendChild(document.createTextNode(
"("+ (d.getFullYear()-2000)+"/"+(d.getMonth()+1)+"/"+d.getDate()+")"
));
var newspan= document.createElement("span");
newspan.appendChild(document.createTextNode(' New!'));
newspan.style.color="red",newspan.style.fontWeight = "bold";
if((today.getTime()-d.getTime()) < 3*24*3600*1000)
li.appendChild(newspan);
li.normalize();
ul.appendChild(li);
}
container.appendChild(ul);
}
});
})(document.getElementById("container"),
"http://******.com/rss15.xml");
});
</script>
</p>
</body>
出来ました~O(≧▽≦)O ワーイ♪
何度も何度も、本当に親切・丁寧に教えて下さり有難うございました。
心より感謝致しております。
本当に本当に有難うございました<(_ _)>
No.2
- 回答日時:
Google AJAX Feed の新しいAPIを使ってこう書けます。
JSONPのScriptは不要です。
(全角空白スペースでインデントしてます。コピぺ時は半角スペースにしてね)
<body>
<div id="container">ここに記事リストをLoading...</div>
<script type="text/javascript" src="http://www.google.com/jsapi"></script>
<script type="text/javascript">
google.load("feeds","1");
google.setOnLoadCallback(function(){
(function(container){
var blogUrl = 'http://******.com/rss15.xml';
var feed = new google.feeds.Feed(blogUrl);
feed.setNumEntries(10);
feed.setResultFormat(google.feeds.Feed.JSON_FORMAT);
feed.load(function(result){
if(result.status.code=="200"){
while(container.hasChildNodes())
container.removeChild(container.firstChild);
var ul = document.createElement("ul");
ul.style.listStyleType = 'none';
for(var i=0;i<result.feed.entries.length;i++){
var title = result.feed.entries[i].title;
var link = result.feed.entries[i].link;
var d = new Date(result.feed.entries[i].publishedDate);
var today = new Date();
var li = document.createElement("li");
var a = document.createElement("a");
a.href=link;
a.appendChild(document.createTextNode(title));
var span = document.createElement("span");
var newspan= document.createElement("span");
newspan.appendChild(document.createTextNode(' New!'));
newspan.style.color="red",newspan.style.fontWeight = "bold";
span.appendChild(document.createTextNode(
"("+ (d.getFullYear()-2000)+"/"+(d.getMonth()+1)+"/"+d.getDate()+")"
));
if((today.getTime()-d.getTime()) < 3*24*3600*1000){
span.appendChild(newspan);
//span.normalize()
}
li.appendChild(a);
li.appendChild(span);
ul.appendChild(li);
}
container.appendChild(ul);
}
});
})(document.getElementById("container"));
});
</script>
</body>
ありがとうございます。
言われたとおり、全角スペースは半角スペースして
上記をコピペしてUPロードしましたが…残念賞でした^^;
http://www.katch.ne.jp/~tsc-07/test.htm
↑がその結果です。
何が間違っているのか…きっと私が何かを間違えているんだと思います。
何度もすみませんでした。
有難うございました<(_ _)>
No.1
- 回答日時:
d = new Date(e[i].publishedDate);
で記事の公開日を取得するように
var today = new Date();
で本日のDateオブジェクトを取得して、これを比較し、
差がxxx時間(ミリ秒)ならば new表示のタグを追加すれば
よろしいかと。
三日の場合
if((today.getTime() - d.getTime()) < 3*24*3600*1000 )
{
}
new表示のタグの追加、別にinnerHTMLでやるならそのまま</li>の前に
追記するだけ
<span style="color:red;font-weight:bold;">New !</span>
とか
早々のご返信をありがとうございます。
var today = new Date();
if((today.getTime() - d.getTime()) < 3*24*3600*1000 )
{
}
をソースの中のいろいろな場所に書いて試したのですが、表示されませんでした。
全くJavascriptの知識がないものですから…すみません。
もっと考えてみます。
有難うございました<(_ _)>
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- JavaScript 1日1回引けるJavaScriptおみくじについて 1 2022/12/12 22:28
- JavaScript jQueryでのドラッグアンドドロップについて 1 2022/07/07 21:04
- JavaScript 画像の表示位置 3 2022/12/23 08:25
- オープンソース Coinmarketcap api 1 2022/05/30 15:47
- JavaScript スマフォではボタンを表示させたくない 2 2023/01/20 14:26
- JavaScript html5に変えるとスライドショーが消えてしまった。 3 2022/03/26 19:53
- Perl RSSにdiv,ul classを付けたいのですがどのようにつけるのかわからないです 2 2022/03/28 01:53
- JavaScript GoogleChart 階層ごとのブロックの長さを個別に設定したい 1 2022/07/06 14:27
- JavaScript プラグイン無しでContactform7にdatepickerを実装 3 2022/10/25 02:18
- その他(プログラミング・Web制作) google formsを使ったタスク依頼フォーム作成におけるご相談 1 2023/06/22 15:55
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
google apps scriptの終了のさせ方
-
第3日曜日のみの日付を取得、...
-
javaScript textareaの一行あた...
-
択一形式のテストをつくりたいです
-
分岐処理(アルゴリズム)
-
特定のclassを表示、非表示にする
-
Javascript で可能でしょうか
-
APIを使って埋め込んだグーグル...
-
ASP.NETのコントロールの値をJa...
-
GoogleMap 住所から座標の取得
-
商品コードを入力で、商品名、...
-
javascriptにお詳しい方に質問...
-
アルファベットABCD…をスマート...
-
JavaScriptのindexedDBに格納し...
-
なぜmatchメソッドがエラーにな...
-
ホームページの最終更新日を他...
-
ページ最終行へジャンプする方法
-
GASでGoogleフォームの自動返信...
-
functionから別のfunctionを実...
-
javascriptで自動計算フォーム...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
google apps scriptの終了のさせ方
-
C#OpenCv V4にのエラーに関する...
-
メールフォームの日付入力フォ...
-
GASでundefinedエラーが出ます
-
ジェネレーターの作り方
-
GASでGoogleフォームの自動返信...
-
なぜmatchメソッドがエラーにな...
-
翌月を取得するGASが分かりません
-
ローカルにあるファイルを検索...
-
HTMLで作った時報アプリが動き...
-
ASP.NETのコントロールの値をJa...
-
C# 演算 奇数と偶数 表現の仕方
-
html javascript リンク先アド...
-
gas スプレッドシートがアクテ...
-
javascriptでテーブルに追加し...
-
VSCODE[Python]の設定について
-
JavaScriptで決まった「時刻」...
-
ASP.NET MVCでObjectをjsに渡す
-
イベントが初めの一回しか起き...
-
jqGridについて
おすすめ情報