网上来讲,解决方法分两种:
- 一,用子元素offset()-父元素offset(),但是对我这段程序没有效果,谷歌和IE的差距仍然存在。
- 二,将.position()调用放到 (window).load()事件触发之后,而不是 (document).ready内。测试无效
- 综合一、二方法,无效。
那么……
我就只能进行笨方法了:
gallery.offset = function() {
var left = gallery.content.position().left;
left=Math.round(left);//解决position()对不同浏览器支持问题
if (gallery.scroll == '<') {
if (left < 0) {
left += gallery.width;
}
}
else {
if (left <= 0 && left >= ((gallery.innerWidth * -1) + (gallery.width * 2))) {
left -= gallery.width;
}
}
return left + "px";
}
手动修正数据之后,这个程序是没问题了,但是还是期待有更好的方法。