我正在开发一个单页应用程序,因为我有三个div,我需要分别显示hide。在中间div我有标签,我执行滑动。
我使用Hammer.js进行滑动,使用jquery-scrollto.js进行滚动
HTML
<div id="revolutionary">revolutionary</div>
<div id="middle">middle</div>
<div id="agendaa">agendaa</div>
JS
$(document).ready(function(){
var revolution = document.getElementById('revolution');
var rev = new Hammer(revolution);
rev.on("swiperight", function(event) {
alert('swiped');
$('#agendaa').css('display', 'block').ScrollTo();
});
//Agenda
var agenda = document.getElementById('agenda');
var agen = new Hammer(agenda);
agen.on("swipeleft", function(event) {
//alert('swiped');
$('#revolutionary').css('display', 'block').ScrollTo();
});
});
这时当我在swiperight中显示底部的div时,然后滚动到该div。 当我向上滑动时,顶部的div应首先显示,滚动到该div。
这里发生的事情是滚动动画适用于底部div但不适用于顶级div。
编辑:滚动到底部div也不起作用,显示div后滚动动作正常(第二次滑动)
答案 0 :(得分:0)
试试这个
$('#revolutionary').show( 'fast', function() { this.ScrollTo(); } );
我认为发生的事情是,在事件处理程序返回之前,元素实际上并未显示。