jQuery实现逐字输入效果

本文介绍了一个简单的逐字输入效果的实现方式,并分享了具体的JavaScript代码。通过使用jQuery插件,实现了文字逐个显示的效果,增加了网站或应用的趣味性和交互性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

之前做了个测试小游戏(姑且叫游戏吧)为了增加神秘性,就想给她加个逐字输入效果;刚好在网上找到一个挺好用的,于是就发扬拿来主义;按照自己的喜好做了一丢丢的修改强算是吧\( ̄︶ ̄)>

代码:

$.fn.autotype = function() {
    var _this=$(this);
    var str=_this.html();
    // 正则替换代码行之间添加的多个空格,不去除换行输出会有明显的停顿:实际是在输出多个空格
    str=str.replace(/(\s){2,}/g,"$1");
    var index = 0;
    $(this).html('');
    var timer = function() {
        var args=arguments;
        var current = str.slice(index, index+1);
        if (current == '<'){
            index = str.indexOf('>', index) + 1;
        }
        else{
          index++;
        }
        //位运算符: 根据setInterval运行奇偶次来判断是否加入下划线字符“|”,使输入效果更逼真
        if (index < str.length-1){
            //打印字符倒数第2个字符开始,不加“|”,以防止结束符可能会多输出“|”字符
            _this.html(str.substring(0, index) + (index & 1 ? '<span class="loop">|</span>' : ''));
        }else{
            _this.html(str.substring(0, index));
            return false;
        };
        // 延迟开始时间
        setTimeout(args.callee,150)
    };
    setTimeout(timer,1000);
};

 效果:

我也会有失望的时候

抱怨生活对我不够好

不能像电影一样

情节曲折结局依旧

 

出处:http://www.phpvar.com/archives/2865.html

 

转载于:https://www.cnblogs.com/lilixing/p/4613617.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值