Firefox上的JQuery.position()和.offset()错误 我有一个滚动div,通过jQuery确定中间的元素。我尝试过使用position()和offset()参数,在这两种情况下,Firefox都没有得到正确的答案,而Chrome和Safari却得到了正确的答案
位置().top或offset().top确定中间元素相对于容器的位置。然而firefox是通过滚动容器来确定它的,因此在滚动过程中总是给出第三个元素,而不是中间的元素 这里有两个小提琴,一个使用.position(),另一个使用.offset() 偏移量() 位置()--Firefox上的JQuery.position()和.offset()错误 我有一个滚动div,通过jQuery确定中间的元素。我尝试过使用position()和offset()参数,在这两种情况下,Firefox都没有得到正确的答案,而Chrome和Safari却得到了正确的答案,jquery,firefox,position,offset,Jquery,Firefox,Position,Offset,位置().top或offset().top确定中间元素相对于容器的位置。然而firefox是通过滚动容器来确定它的,因此在滚动过程中总是给出第三个元素,而不是中间的元素 这里有两个小提琴,一个使用.position(),另一个使用.offset() 偏移量() 位置()-- 有人知道为什么会发生这种情况或者如何解决吗?如果查看实际的js文件,根据浏览器的不同,滚动行为的处理方式会有所不同。对于Firefox,它操作的是滚动元素的-moz变换,而不是滚动元素内部的位置 演示: jQuery fun
有人知道为什么会发生这种情况或者如何解决吗?如果查看实际的js文件,根据浏览器的不同,滚动行为的处理方式会有所不同。对于Firefox,它操作的是滚动元素的
-moz变换
,而不是滚动元素内部的位置
演示:
jQuery
function test() {
var $ul = $('#leftwheel');
$('#bkodate').val('');
$ul.find('li').each(function(n) {
var $this = $(this);
var $mozTransform = $(".slotinner").css("-moz-transform");
var mozfix = !($mozTransform === null) ? parseInt($mozTransform.substring($mozTransform.lastIndexOf(',') + 1, $mozTransform.length - 3)) : 0;
if ($this.position().top + $this.height() + mozfix > 100 && $this.position().top + mozfix < $ul.height()) {
var result = $('#leftwheel li:eq(' + parseInt(n - 2) + ')').html();
$('#bkodate').val(result);
}
});
}
var leftwheel = new iScroll('leftwheel', {
snap: 'li',
momentum: true,
hScrollbar: false,
vScrollbar: false,
onScrollEnd: function() {
test();
}
});
功能测试(){
var$ul=$(“#左轮”);
$('bkodate').val('');
$ul.find('li')。每个函数(n){
var$this=$(this);
var$mozTransform=$(“.slotiner”).css(“-mozTransform”);
var mozfix=!($mozTransform===null)?parseInt($mozTransform.substring($mozTransform.lastIndexOf(','))+1,$mozTransform.length-3)):0;
如果($this.position().top+$this.height()+mozzix>100&&$this.position().top+mozzix<$ul.height()){
var result=$('#leftwheel li:eq('+parseInt(n-2)+')).html();
$('#bkodate').val(结果);
}
});
}
var leftwheel=新iScroll('leftwheel'{
抓拍:"李",,
动量:是的,
hScrollbar:错,
vScrollbar:false,
onScrollEnd:function(){
test();
}
});
可能与我写的问题重复。答案与问题无关,然后被忽略,好像得到了回答