本文实例讲述了jquery通过load获取文件的内容并跳到锚点的方法。分享给大家供大家参考。具体分析如下:
成都创新互联专注于厦门网站建设服务及定制,我们拥有丰富的企业做网站经验。 热诚为您提供厦门营销型网站建设,厦门网站制作、厦门网页设计、厦门网站官网定制、成都小程序开发服务,打造厦门网络公司原创品牌,更为您提供厦门网站排名全网营销落地服务。
昨天在做一个类似于帮助文档型的页面,左边是导航,右边显示的是内容。本来打算右边内容显示区域用iframe来实现,但由于要做iframe的适应高度所以就换了一种方法,使用jquery的ajax中的load方法。
获取远程文件中的内容很容易实现,直接使用jquery的load方法:
$("#content").load("xxx.aspx")
这样很容易将xxx.aspx文件中的内容放在id为content的标签中。现在还要实现的一个效果是:当我获取文件的内容后,要跳到相应的锚点,于是就想到使用jquery的scrollTop,例如我获取文件内容后,要调到id="name"的标签:
$("body,html").animate({scrollTop:$("#name").offset().top});
offset()就是获取匹配元素在当前视口的相对偏移,$("#name").offset().top就是获取ID为name的标签在当前视口距顶部的相对偏移。以上代码综合在一块需这样写:
$(function(){
$("#content").load("xxx.aspx",function(){
$("body,html").animate({scrollTop:$("#name").offset().top});
});
})
为了避免点击导航不断的对服务器发送请求,我们可以将每次获取到的数据存储起来。
当然,这个方法只适合不考虑SEO优化的页面使用。
希望本文所述对大家的jQuery程序设计有所帮助。
jquery 取得文件根目录
jquery 取得文件根目录
function getRootPath() {
//获得根目录
var strFullPath = window.document.location.href;
var strPath = window.document.location.pathname;
var pos = strFullPath.indexOf(strPath);
var prePath = strFullPath.substring(0, pos);
var postPath = strPath.substring(0, strPath.substr(1).indexOf('/') + 1);
return (prePath + postPath);
}
html代码:
div id="divForm"
文件:input type="file" id="myfile"
input type="button" id="btnOpen" value="展示文件"
/div
内容展示:
div id="divShow" style="width:400px;height:300px;border:1px solid gray"
/divjs代码:
script type="text/javascript" src="js/jquery-1.8.3.min.js"/script
script type="text/javascript"
$(function(){
//按钮点击事件
$("#btnOpen").click(function(){
//得到选择的文件的路径及文件名
var path=$("#myfile").val();
//加载本地文件
$.get(path).success(function(content){
// content就为文件data.txt的文本内容了
$("#divShow").html(content);
});
});
});
/script