js跳转到锚点(jQuery动画滚动到锚点)

<a name="bottom"></a>  

正常网页的跳转用<a href="#bottom">跳转到锚点</a>,不同页面前面加上页面路径即可如<a href="url2.htm#bottom">跳转到锚点</a>,

<!--本页-->
location.hash="bottom"; 
<!--跳转到其它页-->
location.href="url2.htm#bottom"; 

 不只有a,其他元素也可以,比如在表格中:

<tr id="tr1">...</tr>
location.hash="tr1"

或者用jQuery的动画滚动效果:

var id="tr1";
$("html,body").animate({scrollTop: $("tr#"+id).offset().top}, 500);

 

下面是一个通用的动画效果

//根据参数名获得该参数  pname等于想要的参数名   
function getParam(pname) {  
    
    var params = location.search.substr(1); //  获取参数 平且去掉?   
    var ArrParam = params.split('&');  
    if (ArrParam.length == 1) {  
   //只有一个参数的情况   
        return params.split('=')[1];  
    }  
    else {  
        //多个参数参数的情况   
        for (var i = 0; i < ArrParam.length; i++) {  
            if (ArrParam[i].split('=')[0] == pname) {  
             
                return ArrParam[i].split('=')[1];  
            }  
        }  
    }

}
//平滑移动到 想要的位置 
$(function() {  
     var mao = $("#" + getParam("m")); //获得锚点   
     if (mao.length > 0) {//判断对象是否存在   
         var pos = mao.offset().top;  
         var poshigh = mao.height();  
         $("html,body").animate({ scrollTop: pos-poshigh-30 }, 3000);  
     }  
 });  

第一段 页面获取参数的 通用js,第二段就是平滑移动到 想要的位置

posted @ 2012-11-28 09:20  码写人生  阅读(11864)  评论(0编辑  收藏  举报