问题标签 [hashchange]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
javascript - 如何window.location.hash-改变位置,然后运行一个函数?
我有一个功能,说
我有window.onhashchange = runSomething;
并且在我的代码中,我打电话window.location.hash = "#processsection"
runSomething 运行,但是它在页面执行到#processsection 之前运行......我怎样才能让它只在我在#processsection 之后运行?
jquery - 如何在 jquery bbq 中使用动态加载的内容
首先,我是 jQuery 的新手。我发现我的 Web 应用程序面临一个问题,即用户无法导航回上一页,甚至无法刷新页面。它使它重新定向到网络应用程序的第一页。
这是我的脚本的一部分
基本上,当用户单击 时<li>
,该页面将从另一个页面加载另一个内容。
我知道jQuery BBQ可以解决它,但我不知道如何使用它。谁能给我一些提示?
javascript - javascript hashchange 转发按钮上的奇怪问题
当用户按下后退按钮时,我使用 onhashchange 事件自动滚动到 FAQ 页面中的锚链接。
它工作正常,除非按下前进按钮,滚动不起作用的情况。
我一直无法理解为什么会发生这种情况。有人知道为什么会这样吗?
演示页面:http ://static.nemesisdesign.net/hashchange-issue/index.html (要重现该问题,请尝试单击左栏中的链接,然后按几次后退按钮,然后按前进按钮)
这是执行滚动的代码部分:
jquery - Jquery Hashchange 不能正常工作?
也许我只是太晚了,但是如果你点击“关于我们”然后开始点击导航链接(如果你不关闭它)它工作得很好......但是,当页面加载时,只有关于我们的链接工作正常。
这是草稿并正在运行:http ://www.pixeltweaks.com/ground_zero
我相信这很简单,我只是无法接受,也许你们中的一位经验丰富的兽医可以提供帮助。
多谢你们。
jquery - 带有 ajax 站点刷新的 jQuery load()
我有一个使用 jQuery 的 ajax 站点,我想知道如何允许用户刷新页面并加载适当的内容。
我有它,所以当用户单击具有我的网站域的 href 属性的元素时,该页面的内容会加载到主 div 中。加载的 html 内容只是一个完整的 html 文档,所以我没有加载页面片段。我正在使用 History.js 来检查 URL 和 hashchanges。但是当我刷新页面时,只加载静态内容(无样式),而不是包含主页的页眉和页脚。另一个问题是我需要清除现有哈希以避免 GET 404 错误。我显然想要的是整个页面正常加载。
到目前为止,这是我的代码:
ajax - 检查是否没有标签,标签未声明,没有哈希
我正在开发这个网站: http: //parkoura.tk/a/sandbox/
我正在使用 ajax 导航。我有一个名为 ajax() 的函数,它应该在加载时执行。当它出现时,我希望它首先检查是否存在主题标签。如果没有主题标签,则该函数应该只是中断而不做任何事情。如果声明了主题标签,它会将 ajax 发送到另一个 php 并替换 div 内的内容。
除了 onload 哈希标签检查部分外,它还可以完美运行。当网站加载时,您可以看到一个滑块被渲染了一会儿。尽管没有声明主题标签,但它仍然会继续替换内容。
我有警报来显示逻辑应该如何工作。我的实际检查逻辑是这样的:
完整的js代码: https ://pastee.org/v8cxp
jquery - jQuery BBQ 将 URL 状态拆分为可用的块
非常努力地理解 jQuery BBQ 并且做得不好。有几件事情我需要弄清楚,但我会试着把重点放在我认为最重要的事情上,希望剔除那部分会引导我解决其他问题。
我有一个页面,其中包含三个部分,每个部分都是隐藏的。当用户单击导航链接时,相应的部分会展开,而其他部分(如果处于活动状态)则被隐藏。URL 使用代表页面的哈希值进行更新。就这样localhost
变成了localhost/#work
。在我的代码中,这可以正常工作。
在该#work
部分中,有多个缩略图对应于不同的视频,我正在尝试将值添加到 URL 中以允许添加书签和其他爱,因此使用 jQuery BBQ。这种作品,有一个小问题的网址变得丑陋。localhost
变成localhost/#work=&misery=
. 丑陋,但它已正确更新(并且该部分按预期保持打开状态)。
这是货物:
当hashchange
事件发生时,我的超级骗子 hash-bash 函数会运行并检查 URL 中的哈希值,然后打开相应的部分。如何使用 jQuery BBQ 的.getState()
方法从 URL 中提取视频值,然后单击该缩略图?
非常感谢,我知道那是冗长的,但我希望尽可能清晰和描述性。请在下面找到一个 jsFiddle(尽管在那个环境中我根本无法显示哈希值......呃!)以及原始代码。
http://jsfiddle.net/danielredwood/n2KWv/2/
JavaScript:
</p>
javascript - javascript & jQuery mobile: 导航到
我对 jQuery Mobile 比较陌生。所以,我不知道框架功能的每个角落。
我目前在历史和动态页面导航方面面临一些问题。
基本上,我想实现以下目标:
我有一个通过按钮单击更改内容的网页。“主页”页面应显示<div data-role="page" id="list_root">...</div>
. 通过单击一个按钮,页面应该导航到<div data-role="page" id="list_123">...</div>
。我希望能够使用后退按钮返回 div "#list_root" 的内容。
在使用 jQuery 之前,我确实自己实现了这一点,history.pushState(divContent, null, "#list_<id>")
并用新内容替换了旧内容。但是,pushState 插件默认使用 jQuery mobile 禁用。
按下导航按钮的定义如下:
我确实尝试通过实现“onhashchange”的回调来实现新 div 内容的创建(对于 list_)。但是这个事件永远不会被调用。
此外,如果我能够在单击链接时创建内容,我想显示 的内容<div id="list_<id>">
,替换以前的内容。
由于应用程序呈现大量数据 - 我不想使用 jQuery mobiles 的嵌套列表。
您对我如何使用框架功能实现这一点有任何提示吗?
编辑:
我有以下情况:
如您所见,“list_root”是默认的“起始页”,并按预期显示。
我为 click() 添加了一个事件监听器来动态创建<div id="list_123">
via 的内容:
这行得通。
该按钮的创建如下:
div 内容创建成功,然后 url 中的哈希更改为 #list_123。但是页面不显示。问题出<div data-role="page" id="list_123">...</div>
在<div data-role="page" class="type-interior" id="main_window">
标签内吗?我下次试试!
jquery - 即使哈希没有改变,jQuery地址哈希更改也会触发
我正在使用这个插件http://www.asual.com/jquery/address/来检测我的网站的哈希变化等,它只使用它来导航,所以它是用户体验的重要组成部分。现在,这非常适合我用它做的所有事情,除了如果哈希没有更改/与单击的最后一个哈希 url 没有什么不同,它不会触发事件,例如,如果我在示例中。 com/home 并再次单击主页图标,它不会再次重新加载页面,就像您只是使用常规链接一样。我无法弄清楚如何为作为 url 一部分的所有链接实现这一点。(不仅仅是所有标签,因为我使用标签而不是导航部分。所以任何帮助都会很棒,谢谢。
jquery - 用户滚动到锚点时的 Javascript CSS
我有一个网站http://www.mitchellfinlay.co.uk/newlake/magazines.html
它利用了窗帘效果,每个li
元素在滚动时或在顶部单击链接时自动显示... tempus...talkbusiness 等。
我想要做的是当用户滚动到链接锚定到的那个窗帘时,将链接的类设置为“当前”。
这需要在用户滚动或自动滚动在该页面上停止时发生。
这是可以实现的吗?