![]() |
1
110
步骤1:您需要定义节点ID,直到设置了哈希。这是通过在设置哈希时从节点上删除ID,然后重新添加它来完成的。
第二步:有些浏览器会根据ID节点最后一次出现的位置触发滚动,因此您需要稍微帮助它们。你需要再加一个
第3步:将它包装在一个插件中,并使用它而不是写入
|
![]() |
2
88
我想我可能找到了一个相当简单的解决办法。问题是,URL中的散列也是您滚动到的页面上的一个元素。如果我只是在哈希前面加上一些文本,那么它就不再引用现有的元素了!
现在该URL显示为
|
![]() |
3
77
使用
例子
*如果你想要历史向前和向后的支持 历史行为
如果您正在使用
浏览器支持 |
![]() |
4
3
原始代码的片段:
将此更改为:
|
![]() |
5
3
我最近在建造一个旋转木马
即使尝试注册停止传播的处理程序:
没有停止默认浏览器行为。
我找到的解决方案是
然后您可以监听正常的hashchange事件和
|
![]() |
6
2
好吧,这是一个相当古老的话题,但我想我会插嘴,因为“正确”的答案不适合CSS。 这个解决方案基本上 防止 移动页面时的单击事件,以便我们首先获得滚动位置。然后我们手动添加哈希,浏览器自动触发 哈希变换 事件。我们捕获hashchange事件并回滚到正确的位置。回调通过将散列攻击保持在一个位置来分离和防止代码造成延迟。
|
![]() |
7
2
嗯,我有一个有点粗糙但肯定是工作方法。
因此,对于原始示例:
|
![]() |
8
1
我认为这是不可能的。据我所知,唯一一次浏览器不滚动到已更改的
This article
与您的问题没有直接关系,但它讨论了典型的浏览器更改行为
|
![]() |
9
1
如果将hash change事件与哈希分析器一起使用,则可以防止对链接执行默认操作并更改位置。hash添加一个字符以与元素的id属性不同
|
![]() |
10
1
在这里添加这个,因为更相关的问题都被标记为重复的,指向这里。 我的情况比较简单:
这样,滚动就发生了,并且在更新位置时没有跳转。 |
![]() |
11
0
另一种方法是添加隐藏在视区顶部的DIV。然后,在散列被添加到URL之前,这个DIV被分配散列的ID……这样就不会得到滚动。 |
![]() |
12
0
以下是我的历史标签解决方案:
并显示最后选定的选项卡:
注意
|
![]() |
13
0
此解决方案在实际的滚动顶部创建一个DIV,并在更改哈希后将其删除:
可选,在页面加载时触发锚定事件:
|
![]() |
14
0
我有一个更简单的方法对我有用。基本上,记住哈希在HTML中是什么。它是指向名称标签的锚链接。这就是它滚动的原因……浏览器正试图滚动到锚链接。所以,给它一个!
<a name="home"></a><a name="firstsection"></a><a name="secondsection"></a><a name="thirdsection"></a>
var trimPanel = loadhash.substring(1); //lose the hash var dotSelect = '.' + trimPanel; //replace hash with dot $(dotSelect).addClass("activepanel").show(); //show the div associated with the hash. 最后,删除element.preventdefault或return:false并允许导航发生。窗口将保持在顶部,哈希将附加到地址栏URL,并打开正确的面板。 |
![]() |
15
0
我认为您需要在hashchange之前重置滚动到它的位置。
|
![]() |
16
0
如果在您的页面上,您使用id作为锚定点,并且您有一些场景希望用户在URL的末尾附加一些内容,并使用您自己定义的动画javascript函数将页面滚动到该部分,那么hashchange事件侦听器将无法做到这一点。 例如,如果您只是在hashchange事件之后立即放置一个调试器,类似于这样(好吧,我使用jquery,但您得到了要点):
您会注意到,一旦您更改了URL并点击了Enter按钮,页面就会立即停止在相应的部分,只有在这之后,您自己定义的滚动函数才会被触发,并且它会滚动到该部分,这看起来非常糟糕。 我的建议是:
最后,您需要在自己定义的滚动函数中执行一些技巧:
删除标签上的ID并重置它。 这样就可以了。 |
![]() |
17
-4
只在文档就绪时将此代码添加到jquery中 裁判: http://css-tricks.com/snippets/jquery/smooth-scrolling/
|
![]() |
code-geek · Jquery根据单选按钮选择隐藏或显示文本字段 6 月前 |
![]() |
Dr.0000FF · jQuery按钮点击不显示/隐藏内容 7 月前 |
![]() |
user28928120 · 如何在jquery中选择所有类? 7 月前 |
![]() |
Eliable · 使点击计数器和进度条协同工作 8 月前 |
![]() |
Jack Maessen · 在处理程序上使用时如何获取输入类型 8 月前 |