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