如何使用jQuery新预售票从文本文件中读取文本?

时间:2014-03-24 17:14:56

标签: javascript jquery html

我现在正在我的网站上尝试此代码:

<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>

但它什么也没做,我根本看不到任何文字。

编辑**

在我的网站上打开控制台开发人员:http://newsxpressmedia.com/ 我在控制台中看到了这个文字:

6 考虑使用'dppx'单位而不是'dpi',因为在CSS中'dpi'表示每CSS英寸点数,而不是每物理英寸点数,因此不对应于屏幕的实际'dpi'。在媒体查询表达式中:只有屏幕和(-webkit-min-device-pixel-ratio:2),不是全部,不是全部,不是全部,只有屏幕和(最小分辨率:192dpi),只有屏幕和(最小分辨率) :2dppx)(索引):1 未捕获的TypeError:无法调用undefined(index)的方法'split':101 不推荐使用event.returnValue。请改用标准的event.preventDefault()。

1 个答案:

答案 0 :(得分:1)

你有两个问题。首先,您需要创建li元素并将它们附加到dom。第二个是你在设置newsticker插件之前没有等待ajax调用完成。我也没有理由拥有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
        });
    });
});