<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme() + "://"
+ request.getServerName() + ":" + request.getServerPort()
+ path + "/";
%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta charset="utf-8">
<title>jquery实现动态打字效果</title>
<script src="http://libs.baidu.com/jquery/1.9.1/jquery.min.js"></script>
<style>
</style>
</head>
<body>
<div class="autotype" id="autotype" style="text-align: center;">
<h2><p>一场雨把我困在这里</p>
<p>你温柔的表情</p>
<p>会让我伤心</p>
<p>六月的雨,只是无情的你</p>
<p>伴随着点点滴滴 痛击我心里</p>
<p>Oh~我不相信 你不是故意的</p>
<p>却为何把我丢弃在风雨里</p>
<p>Oh~我不忍心 也不想背叛你</p>
<p>惟有默默等你 回心转意</p>
<p>我没有放弃 也不会离你而去</p>
<p>哪怕要分开 我依然等你</p>
<p>总会有一天 你会相信我 我爱你</p>
<p>一场雨 想念你</p>
<p>在我的心中都不可比拟</p>
<p>你走后 什么都 已经消失在风雨里</p>
<p>一场雨 想念你 我爱你 我爱你~</p></h2>
</div>
<script>
$.fn.autotype = function() {
var $text = $(this);

console.log('$text:', $text);
var str = $text.html(); //返回被选 元素的内容
console.log('str:', str);
var index = 0;
var x = $text.html('');
console.log('x:', x);
//$text.html()和$(this).html('')有区别

var timer = setInterval(function() {
//substr(index, 1) 方法在字符串中抽取从index下标开始的一个的字符
var current = str.substr(index, 1);

if (current == '<') {
//indexOf() 方法返回">"在字符串中首次出现的位置。
index = str.indexOf('>', index) + 1;
} else {
index++;
}

//console.log(["0到index下标下的字符",str.substring(0, index)],["符号",index & 1 ? '_': '']);
//substring() 方法用于提取字符串中介于两个指定下标之间的字符
$text.html(str.substring(0, index) + (index & 1 ? '_' : ''));
index > $text.html().length + 10 && (index = 0);
}, 250);
};
$("#autotype").autotype();
</script>
</body>
</html>

posted on 2017-08-01 20:47  _sen  阅读(245)  评论(0)    收藏  举报