function save_right_div(domid)
{    
    Ajax.call('store_design.php?act=set_div&domid='+domid+'&is_column=3','', set_right_result, 'POST', 'JSON');
}function set_right_result(result)
{
    document.getElementById("div_html").value='';
    if(result==2)
    {
        alert('数据入库出错');
    }
    else
    {
        var scroll_top = document.documentElement.scrollTop;
        window.location.href=window.location.href;
        window.scrollTo(0,scroll_top);
    }
}

解决方案 »

  1.   


            window.location.href=window.location.href;        // 上面执行完了以后,dom对象重新绘制了,所以下面的内容永远都不会执行        window.scrollTo(0,scroll_top);
      

  2.   


    window.location.href=window.location.href;
    alert(1);//这样可以弹出1
      

  3.   

    window.location.href=window.location.href;// 上面执行完了以后,dom对象重新绘制了,所以下面的内容永远都不会“在新的dom”内执行
    // 因js要执行完毕以后,才移交个浏览器处理window.scrollTo(0,scroll_top); // 这个改变的是当前的window,而不是刷新后的window
      

  4.   


    可以统计url传参 或者 cookie设置,然刷新后的页面中,重新获取这个参数,然后window.scrollTo(0,scroll_top);设置!var scroll_top = 'scroll_top=([^&\b]+)'.exec(window.location.href);
    if(scroll_top) {
        document.body.onload = function(){
            window.scrollTo(0,scroll_top[1]);
        }
    }function set_right_result(result)
    {
        document.getElementById("div_html").value='';
        if(result==2)
        {
            alert('数据入库出错');
        }
        else
        {
            var scroll_top = document.documentElement.scrollTop;
            var url = window.location.href.repalce(/[&\?]?scroll_top=([^&\b]+)/i, '');
            if(url.indexOf('?') !== false) {
                url += '&scroll_top=' + scroll_top;
            } else {
                url += '?scroll_top=' + scroll_top;
            }
            window.location.href=url;
            //window.scrollTo(0,scroll_top);
        }
    }
      

  5.   

    看得顺序有点乱,是不是上半部分代码放在window.location.href=url;后面执行才对?