Как использовать новый расширенный тикер jQuery для чтения текста из текстового файла?

0

Я сейчас пытаюсь использовать этот код на своем веб-сайте:

<script>
var file = "http://newsxpressmedia.com/files/theme/test.txt";
function getFile(){
    $.get(file,function(txt){
        var lines = txt.responseText.split("\n");
        for (var i = 0, len = lines.length; i < len; i++) {
            save(lines[i]);
          <ul class="newsticker">lines[i]</ul>
        }
    }); 
}
</script>
<script src="http://code.jquery.com/jquery-1.10.1.min.js"></script>
<script src="http://newsxpressmedia.com/files/theme/jquery.newsTicker.js"></script>

<script>
$('.newsticker').newsTicker({
    row_height: 48,
    max_rows: 2,
    speed: 6000,
    direction: 'up',
    duration: 400,
    autostart: 1,
    pauseOnHover: 0
});
</script>

Но я ничего не вижу. Текст предполагает прокрутку вверх.

В исходном коде был:

<ul class="newsticker">
    <li>Etiam imperdiet volutpat libero eu tristique.</li>
    <li>Curabitur porttitor ante eget hendrerit adipiscing.</li>
    <li>Praesent ornare nisl lorem, ut condimentum lectus gravida ut.</li>
    <li>Nunc ultrices tortor eu massa placerat posuere.</li>
</ul>
<script src="http://code.jquery.com/jquery-1.10.1.min.js"></script>
<script src="http://newsxpressmedia.com/files/theme/jquery.newsTicker.js"></script>

<script>
$('.newsticker').newsTicker({
    row_height: 48,
    max_rows: 2,
    speed: 6000,
    direction: 'up',
    duration: 400,
    autostart: 1,
    pauseOnHover: 0
});
</script>

Что я делаю не так? Я проверил, что файл test.txt существует, и я могу его прочитать, но код:

<script>
    var file = "http://newsxpressmedia.com/files/theme/test.txt";
    function getFile(){
        $.get(file,function(txt){
            var lines = txt.responseText.split("\n");
            for (var i = 0, len = lines.length; i < len; i++) {
                save(lines[i]);
              <ul class="newsticker">lines[i]</ul>
            }
        }); 
    }
    </script>

Не работает. Я ничего не вижу. Пытался добавить в FOR LOOP строку:

<ul class="newsticker">lines[i]</ul>

Но я думаю, это неправильно.

РЕДАКТИРОВАТЬ**

Теперь код выглядит следующим образом:

<script src="http://code.jquery.com/jquery-1.10.1.min.js"></script>
<script src="http://newsxpressmedia.com/files/theme/jquery.newsTicker.js"></script>

<script>
$(function() {
    var file = "http://newsxpressmedia.com/files/theme/test.txt";
    $.get(file, function (txt) {
        var lines = txt.responseText.split("\n");
        $ul = $('<ul class="newsticker" />');
        for (var i = 0, len = lines.length; i < len; i++) {
            //save(lines[i]); // not sure what this does
            $ul.append('<li>' + lines[i] + '</li>');
        }
        $ul.appendTo('body').newsTicker({
            row_height: 48,
            max_rows: 2,
            speed: 6000,
            direction: 'up',
            duration: 400,
            autostart: 1,
            pauseOnHover: 0
        });
    });
});
</script>

Но он ничего не делает, я вообще не вижу никакого текста.

РЕДАКТИРОВАТЬ**

Откройте консольный dev на моем веб-сайте по адресу: http://newsxpressmedia.com/ И я вижу этот текст в консоли:

6 Считайте использование единиц "dppx" вместо "dpi", так как в CSS "dpi" означает "точки на дюйм", а не "точки на физический дюйм", поэтому не соответствует фактическому "dpi" экрана, В выражении медиарекламы: только экран и (-webkit-min-device-pixel-ratio: 2), не все, не все, не все, только экран и (мин-разрешение: 192dpi), только экран и (мин-разрешение: 2dppx) (index): 1 Uncaught TypeError: Невозможно вызвать метод "split" undefined (index): 101 event.returnValue устарел. Вместо этого используйте стандартное событие event.preventDefault().

Теги:

1 ответ

1
Лучший ответ

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

$(function() {
    var file = "http://newsxpressmedia.com/files/theme/test.txt";
    $.get(file, function (txt) {
        var lines = txt.responseText.split("\n");
        $ul = $('<ul class="newsticker" />');
        for (var i = 0, len = lines.length; i < len; i++) {
            //save(lines[i]); // not sure what this does
            $ul.append('<li>' + lines[i] + '</li>');
        }
        $ul.appendTo('body').newsTicker({
            row_height: 48,
            max_rows: 2,
            speed: 6000,
            direction: 'up',
            duration: 400,
            autostart: 1,
            pauseOnHover: 0
        });
    });
});
  • 0
    Джейсон, посмотри на мой вопрос, который я редактировал, и добавил код, как он выглядит сейчас, после того, как изменил его в соответствии с твоим ответом Это ничего не делает, я не вижу текст вообще.
  • 0
    @DanielLip Есть ошибки в консоли ошибок инструментов разработчика вашего браузера? Вы отлаживали javascript и использовали операторы console.log() чтобы увидеть, где что-то идет не так?
Показать ещё 3 комментария

Ещё вопросы

Сообщество Overcoder
Наверх
Меню