Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/412.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 我可以通过php传递当前变量吗?如果是,怎么做?_Javascript_Php_Jquery_Html_Css - Fatal编程技术网

Javascript 我可以通过php传递当前变量吗?如果是,怎么做?

Javascript 我可以通过php传递当前变量吗?如果是,怎么做?,javascript,php,jquery,html,css,Javascript,Php,Jquery,Html,Css,我还有一点时间,所以我希望在我走上任何道路之前,有人能告诉我我正在做的事情是否可行,或者是否有简单/快速的方法来解决它: 在遇到手风琴菜单的一些问题后,我选择了使用几个菜单并用js替换每个菜单的临时修复。我没有自己的代码,但本质上: function change-menu(menu){ var new-menu = menu + ".php"; (#menu-area).load(new-menu); } (到目前为止,我只对js做了一点工作,请忽略上面的语法……我稍后会尝试修复它。) 我的

我还有一点时间,所以我希望在我走上任何道路之前,有人能告诉我我正在做的事情是否可行,或者是否有简单/快速的方法来解决它:

在遇到手风琴菜单的一些问题后,我选择了使用几个菜单并用js替换每个菜单的临时修复。我没有自己的代码,但本质上:

function change-menu(menu){
var new-menu = menu + ".php";
(#menu-area).load(new-menu);
}
(到目前为止,我只对js做了一点工作,请忽略上面的语法……我稍后会尝试修复它。)

我的链接是这样的:

<a onclick="change-menu('something')">Something</a>
<a href="art.php?id=picture1&name=blahblah">[img goes here]</a>

但我意识到,当我这样做时,我也应该将菜单传递到下一页,以便它知道最初在新页面中加载的菜单。但是,我想,如果我想让这种体验变得有条理,让它看起来有点像某种方式,即使我现在把它编得有点像权宜之计,我也不希望有人按下后退按钮,让菜单开始打开和关闭不同的部分

因此,问题是:
有没有一种方法可以让php链接导入侧边栏的当前状态/值?我只是想确保侧菜单只有在用户点击时才会改变,而不是点击后退或前进按钮。这是一个简单的动作吗?这甚至是一种可能的行动吗?有更好的解决方案吗?

不,你不能用php来实现。改用Javascript

您应该研究AJAX来实现这一点。使用AJAX,您可以从php页面获取HTML格式的新内容,然后使用JavaScript将侧栏的现有内容替换为AJAX返回。这样,侧边栏的内容将在不重新加载页面的情况下更改。

太好了!你能详细说明一下吗?我之所以不完全使用js,是因为我希望用户能够在项目之间来回切换。例如,如果他们单击图片1,则会加载图片1。如果单击图片2,则会加载图片2。但我希望他们能够回到图片1,如果他们回击谢谢!前几周,我在一个类似的解决方案中第一次尝试了AJAX功能,它工作得很好,只是浏览器后退按钮没有像我希望的那样工作(例如,如果你从图1单击到图2,我希望返回到图1,而不是页面的初始加载)所以,这就是为什么我认为php会更好,直到我意识到我的菜单正在做改变与后退按钮。你能详细说明一下你的建议吗?我对这方面的大部分内容都是新手,边学边用。我不认为使用后退按钮导航是最好的方式。您可以将上一个URL存储在某个位置(如会话变量),并使用此URL将用户重定向到上一页。您还可以使用JavaScript的
window.history.back()
函数或PHP的
头('Location:'.$\u SERVER['HTTP\u REFERER'])
返回到上一页,但我不会推荐它们,因为它们存在漏洞。