Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/81.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何自动重复键入文本_Javascript_Jquery_Loops_Text_Input - Fatal编程技术网

Javascript 如何自动重复键入文本

Javascript 如何自动重复键入文本,javascript,jquery,loops,text,input,Javascript,Jquery,Loops,Text,Input,我正在尝试生成一个javascript/jquery代码,在该代码中它会自动键入一个字符串,然后在字符串完全键入后,清除先前键入的字符串并再次键入。目前,我的代码只需键入一次字符串。我知道如何继续循环,但它只是从停止的地方开始键入,并没有清除字符串。Javascript: var txt='Typing text...'.split(''); var delay=850; for ( i=0; i<txt.length;i++){ setTimeout(function(){

我正在尝试生成一个javascript/jquery代码,在该代码中它会自动键入一个字符串,然后在字符串完全键入后,清除先前键入的字符串并再次键入。目前,我的代码只需键入一次字符串。我知道如何继续循环,但它只是从停止的地方开始键入,并没有清除字符串。Javascript:

var txt='Typing text...'.split('');

var delay=850;

for ( i=0; i<txt.length;i++){   
setTimeout(function(){        
    $('.autoText').append(txt.shift() )
}, delay * i)       
}
var txt='Typing text…'.split('');
无功延迟=850;

对于(i=0;i,这里是OOP解决方案,使用对象文字方式。还使用可以更改延迟的方法。将来,您可以添加更多方法,如使用setters方法更改字符串大小写或更改动画效果。您可以使用任何字符串将其附加到任何元素。 此外,它不像jQuery那样具有依赖关系。如果您不希望依赖jQuery或内部文档就绪func,并且您具有依赖关系,则必须将此代码放在DOM的底部。 希望对你有帮助

    var animText =  {

        animStr: '',
        delay: 300,

        setDelay: function(delay) {
            this.delay = delay;
        },

        DoAnimation: function(string, selector) {

            this.animStr = string.split('');


            for (var i = 0; i <= string.length-1; i++) {

                setTimeout(function () {    
                    document.getElementById(selector).innerHTML += animText.animStr.shift();                 
                },this.delay * i);             
            };

            setTimeout( function() {                   
                document.getElementById(selector).innerHTML = '';                
                animText.DoAnimation(string, selector);                 

            }, this.delay * i + 1200) 

        }

    }


    animText.DoAnimation("Hello", "animStr");
    animText.setDelay(900);
var animText={
animStr:“,
延误:300,
设置延迟:功能(延迟){
延迟=延迟;
},
DoAnimation:函数(字符串、选择器){
this.animStr=string.split(“”);

对于(var i=0;i,这里是OOP解决方案,使用对象文字方式。还使用可以更改延迟的方法。将来,您可以添加更多方法,如使用setters方法更改字符串大小写或更改动画效果。您可以使用任何字符串将其附加到任何元素。 此外,它不像jQuery那样具有依赖关系。如果您不希望依赖jQuery或内部文档就绪func,并且您具有依赖关系,则必须将此代码放在DOM的底部。 希望对你有帮助

    var animText =  {

        animStr: '',
        delay: 300,

        setDelay: function(delay) {
            this.delay = delay;
        },

        DoAnimation: function(string, selector) {

            this.animStr = string.split('');


            for (var i = 0; i <= string.length-1; i++) {

                setTimeout(function () {    
                    document.getElementById(selector).innerHTML += animText.animStr.shift();                 
                },this.delay * i);             
            };

            setTimeout( function() {                   
                document.getElementById(selector).innerHTML = '';                
                animText.DoAnimation(string, selector);                 

            }, this.delay * i + 1200) 

        }

    }


    animText.DoAnimation("Hello", "animStr");
    animText.setDelay(900);
var animText={
animStr:“,
延误:300,
设置延迟:功能(延迟){
延迟=延迟;
},
DoAnimation:函数(字符串、选择器){
this.animStr=string.split(“”);

对于(var i=0;i,这里是OOP解决方案,使用对象文字方式。还使用可以更改延迟的方法。将来,您可以添加更多方法,如使用setters方法更改字符串大小写或更改动画效果。您可以使用任何字符串将其附加到任何元素。 此外,它不像jQuery那样具有依赖关系。如果您不希望依赖jQuery或内部文档就绪func,并且您具有依赖关系,则必须将此代码放在DOM的底部。 希望对你有帮助

    var animText =  {

        animStr: '',
        delay: 300,

        setDelay: function(delay) {
            this.delay = delay;
        },

        DoAnimation: function(string, selector) {

            this.animStr = string.split('');


            for (var i = 0; i <= string.length-1; i++) {

                setTimeout(function () {    
                    document.getElementById(selector).innerHTML += animText.animStr.shift();                 
                },this.delay * i);             
            };

            setTimeout( function() {                   
                document.getElementById(selector).innerHTML = '';                
                animText.DoAnimation(string, selector);                 

            }, this.delay * i + 1200) 

        }

    }


    animText.DoAnimation("Hello", "animStr");
    animText.setDelay(900);
var animText={
animStr:“,
延误:300,
设置延迟:功能(延迟){
延迟=延迟;
},
DoAnimation:函数(字符串、选择器){
this.animStr=string.split(“”);

对于(var i=0;i,这里是OOP解决方案,使用对象文字方式。还使用可以更改延迟的方法。将来,您可以添加更多方法,如使用setters方法更改字符串大小写或更改动画效果。您可以使用任何字符串将其附加到任何元素。 此外,它不像jQuery那样具有依赖关系。如果您不希望依赖jQuery或内部文档就绪func,并且您具有依赖关系,则必须将此代码放在DOM的底部。 希望对你有帮助

    var animText =  {

        animStr: '',
        delay: 300,

        setDelay: function(delay) {
            this.delay = delay;
        },

        DoAnimation: function(string, selector) {

            this.animStr = string.split('');


            for (var i = 0; i <= string.length-1; i++) {

                setTimeout(function () {    
                    document.getElementById(selector).innerHTML += animText.animStr.shift();                 
                },this.delay * i);             
            };

            setTimeout( function() {                   
                document.getElementById(selector).innerHTML = '';                
                animText.DoAnimation(string, selector);                 

            }, this.delay * i + 1200) 

        }

    }


    animText.DoAnimation("Hello", "animStr");
    animText.setDelay(900);
var animText={
animStr:“,
延误:300,
设置延迟:功能(延迟){
延迟=延迟;
},
DoAnimation:函数(字符串、选择器){
this.animStr=string.split(“”);
对于(var i=0;i这是您想要的吗

var txt = 'Typing text...'.split('');

var delay = 850;

function type() {
    for (i = 0; i < txt.length; i++) {
        setTimeout(function () {
            $('.autoText').append(txt.shift());
        }, delay * i);
    }

    // delay * i + 1000 means 1 second after the above text was finished typing

    setTimeout(function(){
        // after finish, clear text in h1 element
        $('.autoText').text('');

        // fire `type` method again, with `txt` reset to its original value
        type(txt = 'Typing text...'.split(''));

    }, delay * i + 1000);
}

type(); // call type at least once
var-txt='typingtext…'。拆分('');
无功延迟=850;
函数类型(){
对于(i=0;i
这就是你想要的吗

var txt = 'Typing text...'.split('');

var delay = 850;

function type() {
    for (i = 0; i < txt.length; i++) {
        setTimeout(function () {
            $('.autoText').append(txt.shift());
        }, delay * i);
    }

    // delay * i + 1000 means 1 second after the above text was finished typing

    setTimeout(function(){
        // after finish, clear text in h1 element
        $('.autoText').text('');

        // fire `type` method again, with `txt` reset to its original value
        type(txt = 'Typing text...'.split(''));

    }, delay * i + 1000);
}

type(); // call type at least once
var-txt='typingtext…'。拆分('');
无功延迟=850;
函数类型(){
对于(i=0;i
这就是你想要的吗

var txt = 'Typing text...'.split('');

var delay = 850;

function type() {
    for (i = 0; i < txt.length; i++) {
        setTimeout(function () {
            $('.autoText').append(txt.shift());
        }, delay * i);
    }

    // delay * i + 1000 means 1 second after the above text was finished typing

    setTimeout(function(){
        // after finish, clear text in h1 element
        $('.autoText').text('');

        // fire `type` method again, with `txt` reset to its original value
        type(txt = 'Typing text...'.split(''));

    }, delay * i + 1000);
}

type(); // call type at least once
var-txt='typingtext…'。拆分('');
无功延迟=850;
函数类型(){
对于(i=0;i
这就是你想要的吗

var txt = 'Typing text...'.split('');

var delay = 850;

function type() {
    for (i = 0; i < txt.length; i++) {
        setTimeout(function () {
            $('.autoText').append(txt.shift());
        }, delay * i);
    }

    // delay * i + 1000 means 1 second after the above text was finished typing

    setTimeout(function(){
        // after finish, clear text in h1 element
        $('.autoText').text('');

        // fire `type` method again, with `txt` reset to its original value
        type(txt = 'Typing text...'.split(''));

    }, delay * i + 1000);
}

type(); // call type at least once
var-txt='typingtext…'。拆分('');
无功延迟=850;
函数类型(){
对于(i=0;ifunction timeoutLoop(fn, freq, callback) {
    function looper() {
        var ret = fn();
        if (ret !== false && ret !== null && ret !== undefined)
            return window.setTimeout(looper, freq);
        if (callback)
            callback();
    }
    window.setTimeout(looper, freq)
}
function type(node, str, freq) {
    var s = stringGenerator(str),
        f = function () {
            var chr = s();
            if (chr === null)
                return false;
            if (node.lastChild.nodeType === 3)
                node.lastChild.data += chr;
            else
                node.appendChild(document.createTextNode(chr));
            return true;
        };
    timeoutLoop(f, freq);
}
type(document.body, 'Hello world!', 500);
function repeatEternal(str, time){
    time = time*1000 || 200;
    var position = 0
       ,rdiv = document.querySelector('#repeater')
       ,l2r = true;

    return eternal(str);

    function eternal(s){
        rdiv.textContent = l2r ? rdiv.textContent + s[0] : s.slice(0, -1);
        l2r = s.length === 1 ? !l2r : l2r;
        s = s.length < 2 ? str : !l2r ? s.slice(0,-1) : s.slice(1);
        setTimeout( function(){ eternal(s); }, time);
    }
}
// usage
repeatEternal('Typing galore!', 0.3);