【问题标题】:Safari Scrolling issue with jQuery .remove()jQuery .remove() 的 Safari 滚动问题
【发布时间】:2013-06-21 07:40:47
【问题描述】:

我正在为网站构建程序开发一个插件,并正在为它构建预览页面。这是一种视差滚动插件,我遇到的问题是,在 Safari 中,当您向下滚动到某个点时,它不允许您进一步滚动。在 firefox 和 chrome 中很好,但我在 opera 中看到了同样的问题。我已设法将其范围缩小到导致它的功能,但我不知道为什么或如何解决它。

当我注释掉这个函数时,页面滚动正常,但它不会像我需要的那样删除空 div:

function removeStuff() {
    $('.conP').each(function(){
        var divDad = $(this),
            divses = $(this).children();
        if (divses.hasClass('empty'))
            divDad.remove();
    });
}

这是可以观察到问题的预览页面: http://reveriesrefined.com/myftp/dack_stev/

//////////编辑:

我已将代码简化为:

$('.conP_%id% > .empty').parent().remove();

但是,它仍然会导致 safari 和 opera 中的滚动问题,但不会导致其他浏览器。

非常感谢任何帮助!

【问题讨论】:

  • 对我来说,一旦我到达冲锋队的头部,滚动问题就开始了。

标签: javascript jquery function safari scroll


【解决方案1】:

其实我已经发现了问题。不知何故,即使注释掉上面提到的函数似乎可以解决它,它实际上是另一个函数中的一行代码。

我有这个功能:

function autoPlay() {
var backDiv = $('#outterLax div:first');
    backDiv.hide();
    $('.conP').hide();
    backDiv.remove();
    $('#outterLax').append(backDiv);
    backDiv.show();
}

但行:

$('.conP').hide();

没有必要,因为这已经在我的代码中的其他地方完成了。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-11-03
    • 1970-01-01
    • 2016-06-01
    • 2015-01-22
    • 2019-04-27
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多