﻿var offset;
var timer;
var scrollPast;
function scrollElement(targetID) {
	var element = document.getElementById(targetID);
	offset = cumulativeOffset(element);
	clearInterval(timer);
	scrollPast = null;
	timer = setInterval(scrollWindow,10);
}
function cumulativeOffset(element) {
    var valueT = 0;
    do {
      valueT += element.offsetTop  || 0;
      element = element.offsetParent;
    } while (element);
    return valueT;
  }

function scrollWindow(){
	var temp;
	if (navigator.appName.indexOf('Microsoft') > -1) {
		//IE6
		temp = document.body.scrollTop;
		

	} else  {
		//IE以外 
		temp = window.pageYOffset;
	} 
	if(offset > temp){
		if(temp == scrollPast || temp >= offset){
			clearInterval(timer)
			return;
		} else {
			scrollPast = temp;
		}
		window.scrollBy(0,Math.ceil((offset - scrollPast)/10));
	} else if (offset < temp) {
		if(temp == scrollPast || temp <= offset){
			clearInterval(timer)
			return;
		} else {
			scrollPast = temp;
		}
		window.scrollBy(0,Math.floor((offset - scrollPast)/10));
	} else {
		clearInterval(timer)
	}
}
