下面是实现纯jsp实现的倒计时动态显示效果完整代码攻略。
倒计时动态显示效果的实现原理是通过js倒计时功能实现动态效果,然后将倒计时的时间以jsonp格式传递到服务器端,服务器端通过jsp读取到jsonp数据并通过JSTL表达式解析并进行动态页面输出,从而实现了倒计时的动态效果,并将显示效果不断地随时间改变。
创建一个html页面,使用js实现倒计时功能,并将倒计时时间以jsonp格式传递给服务器端。示例代码如下:
html
<html>
<head>
<title>倒计时动态显示效果</title>
<script type="text/javascript">
var count=60;
function countdown() {
if(count === 0) {
alert('倒计时结束');
} else {
var result = {
'countdown': count
};
var script = document.createElement('script');
script.type = 'text/javascript';
script.src = '/countdown.jsp?callback=countdownCallback&data=' + JSON.stringify(result);
document.body.appendChild(script);
count--;
setTimeout(countdown, 1000);
}
}
function countdownCallback(data) {}
countdown();
</script>
</head>
<body>
</body>
</html>
在服务器端创建一个countdown.jsp页面,使用JSTL表达式解析jsonp数据,并输出动态倒计时效果。示例代码如下:
jsp
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<html>
<head>
<title>倒计时动态显示效果</title>
<script type="text/javascript">
function showCountdown(countdown) {
document.getElementById('countdown').innerHTML = countdown;
}
</script>
</head>
<body>
<c:set var="jsonpData">${param.data}</c:set>
<c:set var="callback">${param.callback}</c:set>
<script type="text/javascript">
<%= callback %>('<c:out value="${jsonpData}"/>');
</script>
<div id="countdown"></div>
</body>
</html>
在这段代码中,我们通过JSTL标签和表达式从request对象中获取jsonp数据,然后通过callback回调函数把这些数据动态地输出到前端页面上。
在上面的示例代码中,我们设置了最开始的倒计时时间为60秒。你可以根据自己的需求来设置倒计时的时间。
在倒计时样式这一块,我们不一定要用div样式来实现。你可以使用不同的html或者css样式来实现你所想要的倒计时样式,只需要根据自己的需求来进行修改即可。
本文链接:http://task.lmcjl.com/news/8553.html