如何在字符串上加载文本文件

时间:2015-07-17 06:56:03

标签: jquery

我不是很擅长jquery,我在加载文本文件并将其显示在字符串上时遇到了一些麻烦。

以下是代码:

<script>
    $(function(){
        $("#typed").typed({
            strings: ["Hello World"], //i want to load a text file and show it here.
            typeSpeed: 50,
            backDelay: 500,
            loop: false,
            contentType: 'html', // or text
            // defaults to false for infinite loop
            loopCount: false,
            callback: function(){ foo(); },
            resetCallback: function() { newTyped(); }
        });

        $(".reset").click(function(){
            $("#typed").typed('reset');
        });
    });

    function newTyped(){ /* A new typed object */ }

    function foo(){ console.log("Callback"); }
</script>

这是我尝试的:

<script>
    $(function(){
        $.get('file.txt', function(data) {
            alert(data) //just to se that it has loaded.
        });
        $("#typed").typed({
            strings:  function(){ data(); }, //the alert shows the text in the file but here it does not show the text.
            typeSpeed: 50,
            backDelay: 500,
            loop: false,
            contentType: 'html', // or text
            // defaults to false for infinite loop
            loopCount: false,
            callback: function(){ foo(); },
            resetCallback: function() { newTyped(); }
        });

        $(".reset").click(function(){
            $("#typed").typed('reset');
        });
    });

    function newTyped(){ /* A new typed object */ }

    function foo(){ console.log("Callback"); }
</script>

正如你所看到的,这可能没有意义。 对不起任何英语错误。 谢谢。

1 个答案:

答案 0 :(得分:0)

$.get是异步的。这意味着在typed()被检索之前,data对象会被实例化。对于任何AJAX请求,任何依赖于其结果的代码都必须放在回调中。试试这个:

$.get('file.txt', function(data) {
    alert(data) //just to se that it has loaded.
    $("#typed").typed({
        strings: data,
        typeSpeed: 50,
        backDelay: 500,
        loop: false,
        loopCount: false,
        callback: function() { 
            foo(); 
        },
        resetCallback: function() { 
            newTyped(); 
        }
    });
});

另请注意,Typed documentation strings属性需要是一个字符串数组,而不是当前AJAX请求返回的HTML。