Javascript 如何有效地制作滚动脚本?
我有div元素在里面,我有一个(ol)元素的列表。我使用jquerynestable进行拖放。请看这里的问题() 我曾经使用查看端口(插件-)在当前视图中获取可见的Javascript 如何有效地制作滚动脚本?,javascript,jquery,scroll,jquery-animate,Javascript,Jquery,Scroll,Jquery Animate,我有div元素在里面,我有一个(ol)元素的列表。我使用jquerynestable进行拖放。请看这里的问题() 我曾经使用查看端口(插件-)在当前视图中获取可见的 我使用了下面的脚本。我无法更高效地滚动页面 脚本在FF中不起作用(滚动不起作用) if($('.dd dragel')。长度>0){ var totalVisibleLi=$('ol#id li:visible')。长度; var liInViewPort=$(“#ol#u id li:在视口中”)。长度; var closestL
我使用了下面的脚本。我无法更高效地滚动页面
脚本在FF中不起作用(滚动不起作用)
if($('.dd dragel')。长度>0){
var totalVisibleLi=$('ol#id li:visible')。长度;
var liInViewPort=$(“#ol#u id li:在视口中”)。长度;
var closestLi=$(this.placeEl).prev('li');
var items=$('ol#u id li:in viewport');
var indexOfClosestLi=items.index(closestLi);
如果(indexOfClosestLi>=(liInViewPort-3)和&(e.pageY<$('div_id').height()){
$('body')。设置动画({
scrollTop:$(窗口).scrollTop()+200
}, 1);
}
如果(indexOfClosestLi编辑了您的代码。现在滚动也可以在FF中工作
if ($('.dd-dragel').length > 0) {
var totalVisibleLi = $('#ol_id li:visible').length;
var liInViewPort = $('#ol_id li:in-viewport').length;
var closestLi = $(this.placeEl).prev('li');
var items = $('#ol_id li:in-viewport');
var indexOfClosestLi = items.index(closestLi);
if (indexOfClosestLi >= (liInViewPort - 3) && (e.pageY < $('#div_id').height())) {
$('html,body').animate({
scrollTop: $(window).scrollTop() + 200
}, 400);
}
if (indexOfClosestLi <= 3) {
$('html,body').animate({
scrollTop: $(window).scrollTop() - 200
}, 400);
}
}
if($('.dd dragel')。长度>0){
var totalVisibleLi=$('ol#id li:visible')。长度;
var liInViewPort=$(“#ol#u id li:在视口中”)。长度;
var closestLi=$(this.placeEl).prev('li');
var items=$('ol#u id li:in viewport');
var indexOfClosestLi=items.index(closestLi);
如果(indexOfClosestLi>=(liInViewPort-3)和&(e.pageY<$('div_id').height()){
$('html,body')。设置动画({
scrollTop:$(窗口).scrollTop()+200
}, 400);
}
如果(indexOfClosestLi首先,对于FF,您需要:`$('body,html')。动画({…})。我只需检查您发布的链接,然后使用它回答:
$('html,body'))`那么你的问题是什么呢?难道你不能开始使用其他试图帮助你发布的代码吗?!Scroll正在工作,但它不像预期的那样平滑。Scroll Up的行为出乎意料我的评论是为了回答你的陈述:如果你可以发布相关代码和JSFIDLE,我会注意更改选择器$('html,body'))它在FF中工作。但这不是一个平滑的滚动。只需添加速度400而不是1@rajini,在将动画速度提高到400之后,我仍然面临着同样的问题。你能告诉我使用CSS3转换吗?或者我的脚本中有错误吗?
if ($('.dd-dragel').length > 0) {
var totalVisibleLi = $('#ol_id li:visible').length;
var liInViewPort = $('#ol_id li:in-viewport').length;
var closestLi = $(this.placeEl).prev('li');
var items = $('#ol_id li:in-viewport');
var indexOfClosestLi = items.index(closestLi);
if (indexOfClosestLi >= (liInViewPort - 3) && (e.pageY < $('#div_id').height())) {
$('html,body').animate({
scrollTop: $(window).scrollTop() + 200
}, 400);
}
if (indexOfClosestLi <= 3) {
$('html,body').animate({
scrollTop: $(window).scrollTop() - 200
}, 400);
}
}