Javascript js替换了错误的内容
我的JavaScript中有以下初始化:;顺便说一下,我总是使用github中显示的代码。完整的代码可以是 问题在于:Javascript js替换了错误的内容,javascript,jquery,ajax,browser-history,history.js,Javascript,Jquery,Ajax,Browser History,History.js,我的JavaScript中有以下初始化:;顺便说一下,我总是使用github中显示的代码。完整的代码可以是 问题在于: contentSelector = '.tab-content,.page-content,article:first,.article:first,.post:first', 以及: $menu = $('#menu,#nav-sub,.nav,.nav-sub:first').filter(':first'), 当在.nav中单击菜单时,必须更改.page内容 在.na
contentSelector = '.tab-content,.page-content,article:first,.article:first,.post:first',
以及:
$menu = $('#menu,#nav-sub,.nav,.nav-sub:first').filter(':first'),
当在.nav
中单击菜单时,必须更改.page内容
在.nav sub
中单击菜单时,必须在选项卡内容中替换内容
问题是,这两个菜单都改变了。页面内容
,而不仅仅是选项卡内容或页面内容
你知道如何改变这一点吗?修复你的内容选择
从
contentSelector = '.tab-content,.page-content,article:first,.article:first,.post:first'
到
History.js没有替换错误的内容;ajaxify-html5.js(您正在使用的脚本)完全按照设计进行:
- 如果用户单击一个内部链接(而该链接没有
no ajaxy
类),那么脚本将拦截该单击,停止浏览器加载页面,并启动该页面的Ajax请求
请注意,这包括页面上的所有内部链接,而不仅仅是菜单中的链接
- Ajax请求完成后,脚本将当前页面上的内容替换为响应中的内容(并执行一些其他聪明的操作,如在右侧菜单项上设置
activeClass
,更新页面标题并从响应中运行脚本)
脚本使用contentSelector
中找到的第一个元素作为“content”节点。这并不取决于用户单击的链接
如果只想“ajaxify”菜单链接,可以更改(第95行):
改为在菜单元素上调用.ajaxify()
如果要使用新内容更新其他元素,可以更改(第145行):
改为更新另一个元素。请不要使用$作为变量,这只是一种不好的做法,尤其是如果您也使用jQuery。检查github链接,我使用了那里的代码。但是我们会在以后考虑。@VahurRoosimaa对于人们来说,用$
前缀指向jQuery
对象的变量是很常见的。这是你个人的偏好,与手头的问题无关。@VahurRoosimaa看一看。变量名中的任何位置都允许使用美元符号($)。
contentSelector = '.tab-content,.page-content,article:first,.article:first,.post:first'
contentSelector = '.tab-content, .page-content, .article:first, .post:first'
$body.ajaxify();
$content.html(contentHtml).ajaxify().css('opacity',100).show(); /* you could fade in here if you'd like */