Javascript jQuery进度条样式的倒计时计时器
我正在做一个项目,当我点击按钮时,一个进度条会启动一段时间,通常是30到60秒。这个进度条是在jquery中制作的,演示可以在这个页面上找到 我已经在我的项目上实现了这一点,因为它完全适合我的需要。现在我需要做的是,当计时器完成进度条,然后执行!但是应该自动隐藏并显示另一个元素,比如验证码,以进行验证。由于我在jquery上有一个星期的时间,所以我不知道该怎么做。这是我的代码以及进度条脚本的代码 我的页面:Javascript jQuery进度条样式的倒计时计时器,javascript,php,jquery,jquery-plugins,Javascript,Php,Jquery,Jquery Plugins,我正在做一个项目,当我点击按钮时,一个进度条会启动一段时间,通常是30到60秒。这个进度条是在jquery中制作的,演示可以在这个页面上找到 我已经在我的项目上实现了这一点,因为它完全适合我的需要。现在我需要做的是,当计时器完成进度条,然后执行!但是应该自动隐藏并显示另一个元素,比如验证码,以进行验证。由于我在jquery上有一个星期的时间,所以我不知道该怎么做。这是我的代码以及进度条脚本的代码 我的页面: <!-- AD TIMER --> <div> <inpu
<!-- AD TIMER -->
<div>
<input type="hidden" id="restTime" value="<?php echo $ad_timer; ?>" disabled style="width: 50px; margin-left: 350px; margin-top: -70px; text-indent:10px" />
<button id="startProgressTimer" style="margin-top: -65Mpx; height: 45px; width: 90px; margin-left: 430px;">START</button>
<div id="progressTimer" style="width:400px; margin-left: 530px; margin-top: -34px"></div>
<script src="http://code.jquery.com/jquery-2.0.3.min.js"></script>
<script src="http://netdna.bootstrapcdn.com/bootstrap/3.0.2/js/bootstrap.min.js"></script>
<script src="css/jquery.progressTimer.js"></script>
<script>
$("#startProgressTimer").click(function() {
$("#progressTimer").progressTimer({
timeLimit: $("#restTime").val()
});
});
</script>
<script type="text/javascript">
var _gaq = _gaq || [];
_gaq.push(['_setAccount', 'UA-36251023-1']);
_gaq.push(['_setDomainName', 'jqueryscript.net']);
_gaq.push(['_trackPageview']);
(function() {
var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
})();
</script>
</div>
<!-- AD TIMER END -->
jquery.progressTimer.js
(function ($) {
$.fn.progressTimer = function (options) {
var settings = $.extend({}, $.fn.progressTimer.defaults, options);
this.each(function () {
$(this).empty();
var barContainer = $("<div>").addClass("progress active progress-striped");
var bar = $("<div>").addClass("progress-bar").addClass(settings.baseStyle)
.attr("role", "progressbar")
.attr("aria-valuenow", "0")
.attr("aria-valuemin", "0")
.attr("aria-valuemax", settings.timeLimit);
bar.appendTo(barContainer);
barContainer.appendTo($(this));
var start = new Date();
var limit = settings.timeLimit * 1000;
var interval = window.setInterval(function () {
var elapsed = new Date() - start;
bar.width(((elapsed / limit) * 100) + "%");
if (limit - elapsed <= 5000)
bar.removeClass(settings.baseStyle)
.removeClass(settings.completeStyle)
.addClass(settings.warningStyle);
if (elapsed >= limit) {
window.clearInterval(interval);
bar.removeClass(settings.baseStyle)
.removeClass(settings.warningStyle)
.addClass(settings.completeStyle);
settings.onFinish.call(this);
}
}, 250);
});
return this;
};
$.fn.progressTimer.defaults = {
timeLimit: 60, //total number of seconds
warningThreshold: 5, //seconds remaining triggering switch to warning color
onFinish: function () {}, //invoked once the timer expires
baseStyle: '', //bootstrap progress bar style at the beginning of the timer
warningStyle: 'progress-bar-danger', //bootstrap progress bar style in the warning phase
completeStyle: 'progress-bar-success' //bootstrap progress bar style at completion of timer
};
}(jQuery));
我应该修改什么以使其工作?请帮助我 使用onFinish事件添加函数以隐藏元素:
$("#startProgressTimer").click(function() {
$("#progressTimer").progressTimer({
timeLimit: $("#restTime").val(),
onFinish: function(){
$('#startProgressTimer').hide();
$('#progressTimer').hide();
}
});
});
它现在藏起来了,但很快就消失了。我是否可以添加一个过渡(如0.6秒时释放),使其隐藏在效果中?是否确实在input id=restTime中定义了一个值?$ad_timer的值是多少?您的代码正在工作。。我想添加一个过渡效果,使它隐藏在淡出效果。你能帮我吗?只需在隐藏方法中添加slow:$'startProgressTimer'。隐藏'slow';当另一个元素隐藏时,我如何让它出现在上面,比如说验证码?