如何在每个窗帘在中间相遇后添加滚动延迟
How can I add a delay to scroll after each curtain meets in the middle?
我想在每个窗帘在中间相遇后立即暂停动画大约 20px 的滚动。 这是我的沙盒:
http://www.meetgeraldine.net/2016website/luke-test/
jQuery: http://snippi.com/s/vup8pw0
网页: http://snippi.com/s/bp5iceg
有没有办法让窗帘暂停大约 20px 的滚动,这样窗帘就不会在两个块在中间相遇后立即淡出?
如果您接受基于库的答案,那么有很好的解决方案:
斯克罗尔 https://github.com/Prinzhorn/skrollr
您可以看到教程,说明如何使用此库来实现您的目标:
伊哈特西红柿 https://ihatetomatoes.net/create-scrolling-slideshow-using-skrollr/
主要
思想是这样的:创建主要内容高度为 100%+20px 的页面,并使用 js 转换您的内容位置。当您的滚动在 50%-10px 和 50%+10px 之间时,您可以停止转换主要内容。
下面是一个定时动画转发器的示例。 它等待所有动画完成,然后在超时后重复它们。 不是 100% 确定这是您的愿望,但希望您可以从中构建:(请注意我没有测试此代码,但它应该可以工作。 需要 jQuery 进行延迟;
function pullCurtains(){
$.when(
$('body,html').animate({'scrollTop': target.offset().top}, 500, function(){ animating = false; }).promise(),
$( '#mything-2' ).animate( { marginLeft : "-100px" }, 500 ).promise(),
$( '#mything-3' ).animate( { width: 0 }, 1000 ).promise()
).done( function(){
console.log( "All animations complete." );
setTimeout(function() {
// trigger new one in 2000 ms
$(document).trigger('curtian');
}, 2000);
});
};
$(document).on('curtian',function(){
pullCurtains();
});
// do first one
$(document).trigger('curtian');
相关文章:
- 正在添加'X'按钮,在文本字段旁边使用javascript
- 如何在映射数组中添加换行符
- 正在将数据主题添加到所有项目
- ZeroClipboard-在复制之前添加到值
- 我可以在json对象中添加一个函数吗
- 将输入字段中的文本提交到我的数据库,同时将其添加到我的列表中
- 正在SharePoint 2013母版页中添加JQuery移动文件
- 如何添加浮动和非浮动,其他
- 添加文字和评论功能更新Div
- 如果使用 lodash 将属性存在于另一个对象中,则向对象添加属性
- 动态地改变“”的URL;添加新项目”;链接使用javascript/jquery
- 在函数中添加数组元素的数值
- 如何将歌曲添加到jPlayer
- 在html Select中添加搜索
- Java脚本时间添加
- FabricJs-限制主对象内添加对象的移动区域
- JQuery添加元素需要在我的js之前再次添加JQuery脚本
- 如何在Google柱状图中动态添加行/列
- 正在尝试使用if和else添加类,但无法正常工作
- 如何在每个窗帘在中间相遇后添加滚动延迟