日付指定で表示/非表示の切替(IE6対応)

  • 0
    いいね
  • 0
    コメント

    IE6だとgetElementsByClassNameが使えないため、
    document.getElementsByTagName("span");を使った。

    <span class="view_timer" start="20170503" end="20170504">20170503〜20170504の間表示</span>
    <span class="view_timer" start="20170504" end="">20170504以降ずっと表示</span>
    <span class="view_timer" start="" end="20170509">20170509まで表示</span>
    
    <script>
    function get_yyyymmdd() {
            var d=new Date();
            var year = d.getFullYear();
            var month = d.getMonth()+1;
            var day = d.getDate();
            if(month<10) {
                    month = "0"+month;
            }
            if(day<10) {
                    day = "0"+day;
            }
            var yyyymmdd = year + month + day;
            return yyyymmdd;
    }
    
    function view_timer() {
            var elements = document.getElementsByTagName("span");
            for (i=0; i < elements.length; i++) {
                    if (elements[i].className != "view_timer") {
                            continue;
                    }
                    var start = elements[i].getAttribute('start');
                    var end = elements[i].getAttribute('end');
                    if((get_yyyymmdd() < start) || (end != "" && end < get_yyyymmdd())) {
                            elements[i].style.display = 'none';
                    }
            }
    }
    
    view_timer();
    </script>