Github: https://github.com/pea3nut/PeA-target
PeA-target插件允许开发者设置锚点链接的偏移量,简单的一个锚点链接偏移功能,PeA-target却将他做的很好。
值得一提的是,使用PeA-target几乎不需要任何配置。
PeA-index非常适用某些展现大量文本的页面,如W3文档,这可以很好的提高用户体验。
PeA-target还可以十分友好的配合PeA-index。PeA-index生成索引目录,而PeA-target去偏移生成的索引目录中的锚点链接。
PeA-target是一个jQuery插件,所以首先您需要在引入PeA-target之前引入jQuery库,然后下载PeA-target源码,引入您的项目。
<script charset="utf-8" src="script/PeA-target.js"></script>
然后设置您想让锚点偏移的像素
jQuery.PeATarget.deviation =160;//160是PeA-target的默认值
理论上此时PeA-target无需任何配置已经可以正常工作了,因为PeA-target是默认开启的。如果您需要关闭PeA-target,可以在DOMLoad事件之前将偏移量设置为0即可
jQuery.PeATarget.deviation =0;
需要注意的是,PeA-target为了拦截外链来的锚点请求,在windows的load事件中阻止了默认事件,这可能会导致一定的问题,请根据项目情况自行处理。
PeA-target版本号由ABCD四部分组成,如1.2.1b,格式为
A.B.CD
PeA-target为js开发者提供了一个静态接口,用来手动的触发锚点链接事件
jQuery.PeATarget.scroll(targetElt ,[deviation])
jQuery.PeATarget.scroll方法接受2个参数:
targetElt参数支持多种类型。
targetElt可以是一个完整的带锚点的URL
jQuery.PeATarget.scroll(document.URL);
jQuery.PeATarget.scroll(document.getElementsByTagName("a")[0].href));
targetElt也可以是一个有ID属性的DOM节点
jQuery.PeATarget.scroll(document.getElementById("targetElt"));
当然,直接传递一个Element的ID值也是可以的
jQuery.PeATarget.scroll(targetEltId);
targetElt还可以是一个jQuery对象
jQuery.PeATarget.scroll( $("#targetElt") );
deviation 可选,如果不传任何值,将读取jQuery.PeATarget.deviation的值作为默认值
jQuery.PeATarget.scroll("targetElt" ,160);
jQuery.PeATarget.scroll方法是健壮的,几乎传递任何错误值都不会抛出错误。