問題点(質問内容)
JavaScriptなどを使ってHTMLファイルだけで日付によって表示される文字を変更する方法はありませんか。
理想の形式
形としては、
ある指定した開始日時を過ぎたら、その表示が出てきて、
開始日時の前や別に指定した終了日時の後は、表示できない旨を表示
といった形です。
実際の表示例
具体的な案です。以下の場合の書き方を掲載していただければと思います。
<前提条件>
表示開始日時:2020/7/24
表示終了日時:2020/8/9
<2020/7/24より前(この日を含まない)の表示> 非公開です。
<2020/7/24~2020/8/9(両日を含む)期間中の表示> 公開中!
<2020/8/9より後(この日を含まない)の表示> 非公開です。
こんな感じです。
実は、投稿前に以下のhtmlにしましたが成功しませんでした。
HTML
1<span class="view_timer" data-start-date="2016/2/15 0:00" data-end-date="2016/2/16 0:00">表示</span> 2 <script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.2/jquery.min.js"></script> 3 <script> 4$(document).ready(function() { 5 $(".view_timer").each(function(index, target) { 6 var startDate = $(this).attr("data-start-date"); 7 var endDate = $(this).attr("data-end-date"); 8 var nowDate = new Date(); 9 if (startDate) { 10 startDate = new Date(startDate); 11 } else { 12 startDate = nowDate; 13 } 14 if (endDate) { 15 endDate = new Date(endDate); 16 } 17 if (startDate <= nowDate && (!endDate || nowDate <= endDate)) { 18 $(this).show(); 19 } else { 20 $(this).hide(); 21 } 22 }); 23}); 24</script>
回答2件
あなたの回答
tips
プレビュー