Заставить Javascript читать и изменять время из внутреннего тега symbol

#javascript

#javascript

Вопрос:

Позвольте мне объяснить. Там будет файл с большим количеством текста, и в нем должны быть тайм-ауты. Как видно ниже, когда пользовательский таймер достигает определенного времени, он изменяет текст на время чтения внутри <-- --> .

<-- 05m:06s-->
hello
<-- 05m:12s -->
world!

Я не прошу исходный код или вас сделать это за меня, я просто хотел бы знать, возможно ли это, и некоторые указания для достижения этого.

Комментарии:

1. Не совсем понятно, о чем вы спрашиваете. Почему бы вам не попробовать добавить больше примеров? Даже псевдокод мог бы помочь 🙂

2. Текст содержит <-- --> теги. Между ними есть время, когда он запускается, так что: если таймер показывает 05: 06 (5 минут и 6 секунд), то он изменяет текст после <-- time --> тега. В текстовом файле их много, поэтому мне нужно было бы создать JS для чтения текстового файла.

3. Хорошим подходом было бы использовать Ajax и позволить php проверять файл и возвращать данные в javascript (который позаботится об использовании этих данных).

Ответ №1:

Вот кое-что, с чего вы можете начать. Я решил включить информацию о времени отображения в текст внутри <li> элементов. Каждый раз, когда вы обновляете таймер, проверяйте время в <li> элементах и, если они совпадают, записывайте их текст.

http://jsfiddle.net/A3952/1/

HTML:

 <div id="time"></div>
<div id="text"></div>

<div id="info">
    <ul>
        <li name="0h 0m 6s">something at 6s</li>
        <li name="0h 0m 8s">something at 8s</li>
        <li name="0h 0m 2s">something at 2s</li>
        <li name="0h 0m 10s">something at 10s</li>
    </ul>
</div>
  

JS:

 $(function(){
    var startDate = new Date($.now());
    $('#time').html("0h 0m 0s");
    var secondCounter = 0;

    window.setInterval(function(){
        secondCounter   ;
        var timerStr = "";
        $('#time').html(Math.floor(secondCounter/3600) "h "  Math.floor(secondCounter/60) "m "   secondCounter%60   "s");

        $('#info ul li').each(function(event){
            if($('#time').html() == $(this).attr("name")){
                $('#text').html($(this).html());
            }
        });

    }, 1000);
});