admin管理员组文章数量:1406177
Hi I have set of icons that I want to display one by one when it scroll down.
I used / for the animations.
How can I add the delay function on my jquery so it will be visible one by one? Any plugins that can alternate this kind of effect?
Any suggestions?
Thanks guys
html code
<div id="create" class="col-lg-15 col-md-15 col-xs-12 col-sm-12 ac m-t20 m-b20">
<img src="//placehold.it/80x80" alt="folder" class="img-circle">
<div class="clear"></div>
<i class="fa fa-user fa-5x m-t10"></i>
<h4>Create an account</h4>
</div>
<div id="define" class="col-lg-15 col-md-15 col-xs-12 col-sm-12 ac m-t20 m-b20">
<img src="//placehold.it/80x80" alt="folder" class="img-circle">
<div class="clear"></div>
<i class="fa fa-pencil-square-o fa-5x m-t10"></i>
<h4>Define your API</h4>
</div>
<div id="sync" class="col-lg-15 col-md-15 col-xs-12 col-sm-12 ac m-t20 m-b20">
<img src="//placehold.it/80x80" alt="folder" class="img-circle">
<div class="clear"></div>
<i class="fa fa-refresh fa-5x m-t10"></i>
<h4>Sync the local client</h4>
</div>
<div id="cloud" class="col-lg-15 col-md-15 col-xs-12 col-sm-12 ac m-t20 m-b20" >
<img src="//placehold.it/80x80" alt="folder" class="img-circle">
<div class="clear"></div>
<i class="fa fa-cloud fa-5x m-t10"></i>
<h4>Get data from the cloud</h4>
</div>
<div id="scale" class="col-lg-15 col-md-15 col-xs-12 col-sm-12 ac m-t20 m-b20">
<img src="//placehold.it/80x80" alt="folder" class="img-circle">
<div class="clear"></div>
<i class="fa fa-bar-chart-o fa-5x m-t10"></i>
<h4>Scale as required</h4>
</div>
css code
#create, #define, #sync, #cloud, #scale
{
visibility:hidden;
}
jquery code
$(window).scroll(function () {
$('#kinect-logo').each(function () {
var imagePos = $(this).offset().top;
var topOfWindow = $(window).scrollTop();
if (imagePos < topOfWindow + 400) {
$(this).addClass("slideUp");
}
});
$('#create').each(function () {
var imagePos = $(this).offset().top;
var topOfWindow = $(window).scrollTop();
if (imagePos < topOfWindow + 400) {
$(this).delay(300).addClass("fadeIn");
}
});
$('#define').each(function () {
var imagePos = $(this).offset().top;
var topOfWindow = $(window).scrollTop();
if (imagePos < topOfWindow + 400) {
$(this).addClass("fadeIn");
}
});
$('#sync').each(function () {
var imagePos = $(this).offset().top;
var topOfWindow = $(window).scrollTop();
if (imagePos < topOfWindow + 400) {
$(this).addClass("fadeIn");
}
});
$('#cloud').each(function () {
var imagePos = $(this).offset().top;
var topOfWindow = $(window).scrollTop();
if (imagePos < topOfWindow + 400) {
$(this).addClass("fadeIn");
}
});
$('#scale').each(function () {
var imagePos = $(this).offset().top;
var topOfWindow = $(window).scrollTop();
if (imagePos < topOfWindow + 400) {
$(this).addClass("fadeIn").delay(300);
}
});
});
Hi I have set of icons that I want to display one by one when it scroll down.
I used http://www.justinaguilar./animations/ for the animations.
How can I add the delay function on my jquery so it will be visible one by one? Any plugins that can alternate this kind of effect?
Any suggestions?
Thanks guys
html code
<div id="create" class="col-lg-15 col-md-15 col-xs-12 col-sm-12 ac m-t20 m-b20">
<img src="//placehold.it/80x80" alt="folder" class="img-circle">
<div class="clear"></div>
<i class="fa fa-user fa-5x m-t10"></i>
<h4>Create an account</h4>
</div>
<div id="define" class="col-lg-15 col-md-15 col-xs-12 col-sm-12 ac m-t20 m-b20">
<img src="//placehold.it/80x80" alt="folder" class="img-circle">
<div class="clear"></div>
<i class="fa fa-pencil-square-o fa-5x m-t10"></i>
<h4>Define your API</h4>
</div>
<div id="sync" class="col-lg-15 col-md-15 col-xs-12 col-sm-12 ac m-t20 m-b20">
<img src="//placehold.it/80x80" alt="folder" class="img-circle">
<div class="clear"></div>
<i class="fa fa-refresh fa-5x m-t10"></i>
<h4>Sync the local client</h4>
</div>
<div id="cloud" class="col-lg-15 col-md-15 col-xs-12 col-sm-12 ac m-t20 m-b20" >
<img src="//placehold.it/80x80" alt="folder" class="img-circle">
<div class="clear"></div>
<i class="fa fa-cloud fa-5x m-t10"></i>
<h4>Get data from the cloud</h4>
</div>
<div id="scale" class="col-lg-15 col-md-15 col-xs-12 col-sm-12 ac m-t20 m-b20">
<img src="//placehold.it/80x80" alt="folder" class="img-circle">
<div class="clear"></div>
<i class="fa fa-bar-chart-o fa-5x m-t10"></i>
<h4>Scale as required</h4>
</div>
css code
#create, #define, #sync, #cloud, #scale
{
visibility:hidden;
}
jquery code
$(window).scroll(function () {
$('#kinect-logo').each(function () {
var imagePos = $(this).offset().top;
var topOfWindow = $(window).scrollTop();
if (imagePos < topOfWindow + 400) {
$(this).addClass("slideUp");
}
});
$('#create').each(function () {
var imagePos = $(this).offset().top;
var topOfWindow = $(window).scrollTop();
if (imagePos < topOfWindow + 400) {
$(this).delay(300).addClass("fadeIn");
}
});
$('#define').each(function () {
var imagePos = $(this).offset().top;
var topOfWindow = $(window).scrollTop();
if (imagePos < topOfWindow + 400) {
$(this).addClass("fadeIn");
}
});
$('#sync').each(function () {
var imagePos = $(this).offset().top;
var topOfWindow = $(window).scrollTop();
if (imagePos < topOfWindow + 400) {
$(this).addClass("fadeIn");
}
});
$('#cloud').each(function () {
var imagePos = $(this).offset().top;
var topOfWindow = $(window).scrollTop();
if (imagePos < topOfWindow + 400) {
$(this).addClass("fadeIn");
}
});
$('#scale').each(function () {
var imagePos = $(this).offset().top;
var topOfWindow = $(window).scrollTop();
if (imagePos < topOfWindow + 400) {
$(this).addClass("fadeIn").delay(300);
}
});
});
Share
Improve this question
edited Mar 13, 2014 at 4:54
sabithpocker
15.6k1 gold badge43 silver badges77 bronze badges
asked Mar 13, 2014 at 4:47
Alyssa ReyesAlyssa Reyes
2,4396 gold badges33 silver badges56 bronze badges
2 Answers
Reset to default 1Try something like this
$(window).scroll(function () {
$('#kinect-logo,#create,#define,#sync,#cloud,#scale').each(function (index,element) {
var imagePos = $(this).offset().top;
var topOfWindow = $(window).scrollTop();
if (imagePos < topOfWindow + 400) {
$(this).delay(index*600).queue(function(){
$(this).addClass("slideUp").dequeue();
});
}
});
});
http://jsfiddle/hEuC3/
http://jsfiddle/hEuC3/1/
You can add a delay using the java script function setTimeOut()
setTimeout(function (){
// Code you want to delay or you can call the function reference directly instead of defining one
}, 2000);
本文标签: javascriptJquery Delay for on scrollStack Overflow
版权声明:本文标题:javascript - Jquery Delay for on scroll - Stack Overflow 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.betaflare.com/web/1744373947a2603167.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论