это, наверняка, не тот scrollTo, о котором вы думаете, в mootools.js есть как минимум еще 2 метода scrollTo... причем глючит Fx.Scroll.scrollTo... потому что там используется Element.getSize, который возвращает для оперы некорректный scrollWidth (по вышеуказанной мной причине)
попробуйте в него вставить alert и сравнить выдаваемые значения по сравнению с ff:
scrollTo: function(x, y) {
if (this.timer && this.options.wait) return this;
var el = this.element.getSize();
var values = {
'x': x,
'y': y
};
for (var z in el.size) {
alert( el.scrollSize[z] );
var max = el.scrollSize[z] - el.size[z];
if ($chk(values[z])) values[z] = ($type(values[z]) == 'number') ? values[z].limit(0, max) : max;
else values[z] = el.scroll[z];
values[z] += this.options.offset[z];
}
return this.start([el.scroll.x, el.scroll.y], [values.x, values.y]);
},
UPD:
return this.scrollTo(target.x - parent.x, target.y - parent.y);
можно в ff посмотреть, что такое this: console.log(this);