在下面的示例代码中,回调函数用作scrollTop()的参数。
什么是参数'值回调的i和v?
jQuery(document).ready(function() {
var is_dragging = false;
$( 'ul' ).disableSelection().sortable({
axis: 'y',
start: function() { is_dragging = true },
stop: function() { is_dragging = false }
}).mousemove( function( e ) {
if( is_dragging ) {
// **** What are parameters' values i and v of the callback? *****
$( 'ul' ).scrollTop(function(i, v) {
var h = $( 'ul' ).height();
var y = e.clientY - h / 2;
return v + y * 0.1;
});
}
});
});
示例代码来自帖子 Scrolling a sortable/dragable item's parent container when its border is reached
由于
答案 0 :(得分:1)
首先,这不是回调函数。在设置值以确保同步执行(例如在animate()中)之后,将触发scrollTop()的回调。而不是设置值,例如$('ul').scollTop('20');
一个函数用于计算一个值,然后返回该值。
经过调查并在jQuery论坛上得到反馈后,很明显i
返回jQuery选择器集中当前元素的索引,v
返回当前值{该元素的{1}}。
scrollTop()
$(window).scroll(function() {
$('body').scrollTop(function(i, v) {
console.log(i + ' ' + v);
// i == index of current element in the selector
// (zero-based of course)
// (v == $('body').scrollTop())
});
});
body {
height: 600vh;
width: 600vw;
}