Javascript 转到上一页时更改文本

Javascript 转到上一页时更改文本,javascript,html,css,Javascript,Html,Css,我已经做了一个网站,在那里,当选择菜单栏中的一个项目时,屏幕会移动到页面上的一个特定位置。然后我做了一个函数,其中文本在两个点上变化,“titletext”和“infotext”。例如: <li><a href="#content" onclick='changeText()'>Weeee!</a></li> 编辑:下面是一个我希望我的网站做什么的示例 当用户点击浏览器上的“后退”按钮时,文本将更改为 前文。所以如果它显示“嘿”,那么它显示“再见

我已经做了一个网站,在那里,当选择菜单栏中的一个项目时,屏幕会移动到页面上的一个特定位置。然后我做了一个函数,其中文本在两个点上变化,“titletext”和“infotext”。例如:

<li><a href="#content" onclick='changeText()'>Weeee!</a></li>
编辑:下面是一个我希望我的网站做什么的示例


当用户点击浏览器上的“后退”按钮时,文本将更改为 前文。所以如果它显示“嘿”,那么它显示“再见”,当 用户点击浏览器的后退按钮,代码变为“嘿”

看一看哪一个允许您监听
#hash
更改事件。基本上,一旦您安装了该插件,您就可以拥有如下功能:

window.onhashchange = function() { //when the hash changes (the '#' part)
    var loc = window.location + ""; //get the current location (from the address bar)
    var curHash = loc.substr(loc.lastIndexOf("#")); //get what's after the '#'
    if(curHash == "#home") { //if it's #home
        //change text to whatever you want
    }
    else if(curHash == "#nav") { //else if it's #nav
        //similarly, change text appropriately
    }
    else if(curHash == "#content") {
        //change text, too
    }
};
Edit:实际上,
onhashchange
是一款现代浏览器。使用上面相同的代码,但不要担心插件

也许有一种更简单的方法可以做到这一点;但我希望这有帮助

看看哪一个允许您监听
#hash
更改事件。基本上,一旦您安装了该插件,您就可以拥有如下功能:

window.onhashchange = function() { //when the hash changes (the '#' part)
    var loc = window.location + ""; //get the current location (from the address bar)
    var curHash = loc.substr(loc.lastIndexOf("#")); //get what's after the '#'
    if(curHash == "#home") { //if it's #home
        //change text to whatever you want
    }
    else if(curHash == "#nav") { //else if it's #nav
        //similarly, change text appropriately
    }
    else if(curHash == "#content") {
        //change text, too
    }
};
Edit:实际上,
onhashchange
是一款现代浏览器。使用上面相同的代码,但不要担心插件


也许有一种更简单的方法可以做到这一点;但我希望这有帮助

是的,您需要一种不同的方法,这里的问题是,您的函数只在单击链接时启动,而javascript——或者说web——在没有解决方法的情况下不会保持状态。因此,使用客户端路由库(如SammyJs)来处理浏览器历史记录。然后将ChangeText函数绑定到更改地址的事件,而不是单击链接


因此,单击链接会更改地址(客户端使用sammyjs),然后响应更改地址的事件,如果您回击或刷新,您的应用程序状态将保持不变

是的,您需要一种不同的方法,这里的问题是,您的函数只在单击链接时启动,而javascript——或者说web——在没有解决方法的情况下不会保持状态。因此,使用客户端路由库(如SammyJs)来处理浏览器历史记录。然后将ChangeText函数绑定到更改地址的事件,而不是单击链接



因此,单击链接会更改地址(客户端使用sammyjs),然后响应更改地址的事件,如果您回击或刷新,您的应用程序状态将保持不变

请不要将类似于
[javascript]
的psedotag放入问题标题中。这就是我们的标签。对不起。下次我会记住的。:)你的意思是当你滚动回一个特定的位置时,你想改变文本吗?或者就在您单击另一个定位点时?您可以用一些明确的示例详细说明您的问题吗?当用户点击浏览器上的“后退”按钮时,文本将更改为上一个文本。因此,如果显示“Hey”,则显示“Bye”,当用户点击浏览器的后退按钮时,代码将变为“Hey”。请不要在问题标题中添加类似
[javascript]
的psedotag。这就是我们的标签。对不起。下次我会记住的。:)你的意思是当你滚动回一个特定的位置时,你想改变文本吗?或者就在您单击另一个定位点时?您可以用一些明确的示例详细说明您的问题吗?当用户点击浏览器上的“后退”按钮时,文本将更改为上一个文本。因此,如果它显示“嘿”,那么它显示“再见”,当用户点击浏览器的后退按钮时,代码变为“嘿”。对不起,正如我所说,我是一个开发者noob。jQuery和Javascript之间有区别吗?jQuery是Javascript的框架。因此,您可以在jQueryAPI的帮助下编写javascript。请参阅@ParioCreations jQuery是一个JavaScript库。因此,它增加了额外的功能。一旦包含jQuery,也可以包含上面的插件。请参阅。@parioCreations请参阅编辑。事实证明,不需要jQuery。很抱歉,这段代码让我感到困惑。你能解释一下吗对不起,就像我说的,我是一个开发者。jQuery和Javascript之间有区别吗?jQuery是Javascript的框架。因此,您可以在jQueryAPI的帮助下编写javascript。请参阅@ParioCreations jQuery是一个JavaScript库。因此,它增加了额外的功能。一旦包含jQuery,也可以包含上面的插件。请参阅。@parioCreations请参阅编辑。事实证明,不需要jQuery。很抱歉,这段代码让我感到困惑。你能解释一下吗