javascript - 当前页面滑入时将旧页面滑出

标签 javascript jquery

我在单页网站上使用jquery,当用户单击按钮时将下一个“页面”滑动到屏幕上。我希望当新页面从右侧滑入时当前页面向左滑出,这样就不会显示空白空间,但目前我只能在下一页滑入时使当前页面消失.我使用的代码在这里:http://jsfiddle.net/xoa029jz/5/

function slideToNext() {
    var currentPage = $('.current-page');
    var nextPage = getNextPage(currentPage.attr('id'));
    $(nextPage).css('display', 'block');
    $(currentPage).animate({left: '-100%'}); 
    $(currentPage).removeClass('current-page');
    $(nextPage).addClass('current-page');
    $(nextPage).animate({left: '0%'});    
}

最佳答案

您的 CSS 过渡正在与 jQuery 动画发生冲突。在我听到您更喜欢哪一个之前,我已经关闭了 CSS 过渡。

其他修复是设置要设置动画的元素的初始位置,并等待面板完全离开,然后再删除 current-page类。

JSFiddle:http://jsfiddle.net/TrueBlueAussie/xoa029jz/8/

function slideToNext() {
    var currentPage = $('.current-page');
    var nextPage = getNextPage(currentPage.attr('id'));
    currentPage.css('left', '0%').animate({
        left: '-100%'
    }, function () {
        currentPage.removeClass('current-page');
    });
    nextPage.css({'display': 'block', 'left': '100%'}).addClass('current-page').animate({
        left: '0%'
    });

}

我还清理了一些多余的项目(链式选择器等)。

您最好只使用 jQuery 动画,最初当您让它工作时,然后添加一个插件(如 velocity.js )以使动画使用 CSS 过渡,而不是尝试混合两者。

关于javascript - 当前页面滑入时将旧页面滑出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27778153/

相关文章:

javascript - 防止在 javascript/jQuery 中执行正在运行的事件

javascript - 在数组中查找值然后使用 Angular forEach 返回 true

在设置 CDO.Message 选项时使用的 f(x) = y JScript 习惯用法的 JavaScript 友好替代方案

javascript - 基于动态生成的文本和特定图案的颜色 li 元素

jquery - 防止 Jquery 自动完成选项在每次选择后关闭

javascript - Jquery - 在追加元素上插入值

javascript - 母版页和内容页上的多个 ScriptManager

javascript - 仅使用下划线将数组转换为对象

javascript - 为什么 Mozilla Firefox 不处理正确的 jQuery?

javascript - app.json 文件有什么作用?