我开发了插件ascensor.js(http://kirkas.ch/ascensor/) 在完全重写之后(whitout scrollto插件)我在调整大小的功能上遇到了一些错误。
当你这样做时,有一些反弹效果(铬),你可以看到其他地板的一小部分,我知道每个浏览器都有不同的调整大小效果,但我想知道是否有办法解决它。 / p>
调整大小效果: Chrome / Safari / Firefox:小弹跳并看到其他楼层 Opera:点击之前不会调整大小效果
这里是完整的插件:http://kirkas.ch/ascensor/js/jquery.ascensor.js
这里有关于调整大小的部分:
function resizeFloor(){
var WW=$(window).width();
var WH=$(window).height()
if(params.Direction=='y'){$(node).stop().animate({scrollTop:(floor-1)*WH},1);}
if(params.Direction=='x'){$(node).stop().animate({scrollLeft:(floor-1)*WW},1);}
if(params.Direction=='chocolate'){
var target = AscensorMap[StageOn-1].split('|');
$(node).stop().animate({
scrollLeft:(target[1]-1)*WW,
scrollTop:(target[0]-1)*WH
},1);
}
$(node).height(WH).width(WW).children(params.ChildType).each(function(){
$(this).height(WH).width(WW);
});
if(params.Direction=='x'){
$(node).children().css('position','absolute');
$(node).children().each(function(index){$(this).css('left',index*WW);})
}
if(params.Direction=='chocolate'){
$(node).children(params.ChildType).each(function(index){
var CoordName = AscensorMap[index].split('|');
$(this).css({'position':'absolute', 'left':(CoordName[1]-1)*WW, 'top':(CoordName[0]-1)*WH});
});
}
}
此外,我在JS开发方面还很陌生,所以如果您对语法或批评系统有任何建议,我会完全开放。
由于
答案 0 :(得分:1)
我自己找到了,而不是
$(node).stop().animate({
scrollLeft:(target[1]-1)*WW,
scrollTop:(target[0]-1)*WH
},1);
我应该使用
$(node).stop().scrollTop((target[0]-1)*WH).scrollLeft((target[1]-1)*WW);