js 定位到某个锚点的方法
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了js 定位到某个锚点的方法相关的知识,希望对你有一定的参考价值。
参考技术A html页面内可以设置锚点,锚点定义Html代码
<a
name="firstAnchor">&nsbp;</a>
锚点使用
Html代码
<a
href="#firstAnchor">跳至第一个锚点</a>
但对于js呢,在js中如何在完成一个操作后跳至页面的某个固定锚点呢
js中location.href可以跳转至某个url;
跳至(定位到)某个固定锚点的办法
1、location.href
=
"#firstAnchor";
//
firstAnchor为锚点名称
2、window.location.hash
=
"#firstAnchor";
//
firstAnchor为锚点名称
经测试:hash只会在跳转到此页面的第一次起作用,再次刷新此页面将不起作用,而href始终起作用
以上这篇js
定位到某个锚点的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。
Unity中锚点的动态设置
问题背景
在做签到系统时,需求给的效果图如下
效果图像这样,中间是模型,周围其他是签到框这样的布局,我想动态生成各个动态框,涉及到一个定位问题,锚点的设置(动态去设置每个item的位置)
实现方法
SetInsetAndSizeFromParentEdge();
此方法属于RectTransform里面得函数,(如果想更多了解RectTransform的话前面我有分析,https://www.cnblogs.com/answer-yj/p/10623304.html),这个函数有三个参数,第一个参数RectTransform.Edge.Left,是指左边的边界,第三个参数是图片的尺寸(有些地方说这是长度,但是我觉得有可能长有可能宽,需要看RectTransform.Edge的值),第二个参数是离边界的距离。注意第三个参数,这是图片尺寸,以第一个参数决定是图片的哪个尺寸
实现代码
for (int i = 1; i < 8; i++) { GameObject go = Instantiate(Resources.Load<GameObject>("Prefab")); go.transform.SetParent(GameObject.Find("GameObject").transform); go.transform.localPosition = Vector3.zero; RectTransform rectTransform = go.GetComponent<RectTransform>(); switch (i) { case 1: rectTransform.SetInsetAndSizeFromParentEdge(RectTransform.Edge.Top, 0, 207); rectTransform.SetInsetAndSizeFromParentEdge(RectTransform.Edge.Left, 0, 209); break; case 2: rectTransform.SetInsetAndSizeFromParentEdge(RectTransform.Edge.Top, 0, 207); rectTransform.SetInsetAndSizeFromParentEdge(RectTransform.Edge.Right, 0, 209); break; case 3: rectTransform.SetInsetAndSizeFromParentEdge(RectTransform.Edge.Left, 0, 209); break; case 4: rectTransform.SetInsetAndSizeFromParentEdge(RectTransform.Edge.Right, 0, 209); break; case 5: rectTransform.SetInsetAndSizeFromParentEdge(RectTransform.Edge.Bottom, 0, 207); rectTransform.SetInsetAndSizeFromParentEdge(RectTransform.Edge.Left, 0, 209); break; case 6: rectTransform.SetInsetAndSizeFromParentEdge(RectTransform.Edge.Bottom, 0, 207); break; case 7: rectTransform.SetInsetAndSizeFromParentEdge(RectTransform.Edge.Bottom, 0, 207); rectTransform.SetInsetAndSizeFromParentEdge(RectTransform.Edge.Right, 0, 209); break; } }
就这样实现了所需布局。
(新手上路,欢迎指正)
以上是关于js 定位到某个锚点的方法的主要内容,如果未能解决你的问题,请参考以下文章