function anchorScroller(el, duration) {
if (this.criticalSection) {
return false;
}
if ((typeof el != 'object') || (typeof el.href != 'string'))
return true;
var address = el.href.split('#');
if (address.length < 2)
return true;
address = address[address.length-1];
el = 0;
for (var i=0; i<document.anchors.length; i++) {
if (document.anchors[i].name == address) {
el = document.anchors[i];
break;
}
}
if (el === 0)
return true;
this.stopX = 0;
this.stopY = 0;
do {
this.stopX += el.offsetLeft;
this.stopY += el.offsetTop;
} while (el = el.offsetParent);
this.startX = document.documentElement.scrollLeft || window.pageXOffset || document.body.scrollLeft;
this.startY = document.documentElement.scrollTop || window.pageYOffset || document.body.scrollTop;
this. stopX = this.stopX - this.startX;
this.stopY = this.stopY - this.startY;
if ( (this.stopX == 0) && (this.stopY == 0) )
return false;
this.criticalSection = true;
if (typeof duration == 'undefined')
this.duration = 500;
else
this.duration = duration;
var date = new Date();
this.start = date.getTime();
this.timer = setInterval(function () {
var date = new Date();
var X = (date.getTime() - this.start) / this.duration;
if (X > 1)
X = 1;
var Y = ((-Math.cos(X*Math.PI)/2) + 0.5);
cX = Math.round(this.startX + this.stopX*Y);
cY = Math.round(this.startY + this.stopY*Y);
document.documentElement.scrollLeft = cX;
document.documentElement.scrollTop = cY;
document.body.scrollLeft = cX;
document.body.scrollTop = cY;
if (X == 1) {
clearInterval( this.timer);
this.criticalSection = false;
}
}, 10);
return false;
}
это код, который должен находиться на странице, которая в Яндексе.API описана как "
Redirect URI:
URI, на который сервер Яндекс.Денег осуществляет редирект после получения разрешения или отказа пользователя(соответствует параметру redirect_uri в документации)"
И это та же страница, куда Яндекс отправляет http запрос после платежа? (смысли, Redirect URI и страница http-запроса это 1 и то же)