Firefox ubuntu上的jquery幻灯片闪烁/闪烁问题

Firefox ubuntu上的jquery幻灯片闪烁/闪烁问题,jquery,firefox,ubuntu,slide,Jquery,Firefox,Ubuntu,Slide,我有一个有点长的列表。当您展开(向下滑动)列表元素时,浏览器不会向下滚动,一切正常。当您收缩(向上滑动)该元素列表时,浏览器向上滚动时将闪烁/闪烁批次 这在MAC Firefox上不会发生 Windows上都没有(至少是我可以测试的版本) 这种情况在FirefoxLinux(ubuntu)上严重发生 以前有人有过这个问题吗?如果是这样,我们能做些什么来解决它 下面是一个代码示例,以便于更好地理解: $('#btCatA').click(function() { $('#btCatA'

我有一个有点长的
列表。当您展开(向下滑动)列表元素时,浏览器不会向下滚动,一切正常。当您收缩(向上滑动)该元素列表时,浏览器向上滚动时将闪烁/闪烁批次

  • 这在MAC Firefox上不会发生
  • Windows上都没有(至少是我可以测试的版本)
  • 这种情况在FirefoxLinux(ubuntu)上严重发生
以前有人有过这个问题吗?如果是这样,我们能做些什么来解决它

下面是一个代码示例,以便于更好地理解:

$('#btCatA').click(function() {
    $('#btCatA').toggleClass('selec');
    $('#listcatA').slideToggle('slow', function() {
        // ...
    });
});

在向上滑动列表元素之前,您可以通过将
窗口
对象的
scrollTop
属性降低该元素的高度来防止这种情况。jQuery有一个用于以下内容的方法:。你也可以设置动画,让它看起来不那么匆忙。以下(未经测试的)代码应该可以做到这一点:

var toggleClass = 'selec';

$('#btCatA').click(function() {
    var target = $(this),
        listElement = $('#listcatA');

    if (target.hasClass(toggleClass)) {
        target.removeClass(toggleClass);
        $(window).animate({
            scrollTop: '-='+listElement.height()+'px'
        }, 'slow', function () {
            listElement.slideUp('slow');
        });
    } else {
        target.addClass(toggleClass);
        listElement.slideDown('slow');
    }
});

很抱歉,我刚刚更新了我的问题-请看一看,如果它仍然适用,请指出.scroolTop应该放在哪里?thks a lot.ps-元素是动态(php)构建的,因此没有固定的高度。@MEM:在滑动之前,您需要执行
scrollTop
-操作。将幻灯片动作放在您的
scrollTop
-动画的回调中(仅向上滑动,向下滑动应单独处理)。@elusise:老实说。我不能。我不知道该在哪里编码。你说的是那个地方,回我的阴囊,好吧。。。但是我应该在scroolTop上写什么呢?我迷路了。对不起,我是新手s