Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/405.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 从URL重定向锚点以指定Onload_Javascript_Jquery_Html - Fatal编程技术网

Javascript 从URL重定向锚点以指定Onload

Javascript 从URL重定向锚点以指定Onload,javascript,jquery,html,Javascript,Jquery,Html,在我们的网站上,我们有一个页面,我们有5个按钮的图像。单击每个按钮时,将使用onclick函数显示更详细的信息 我们要做的是从URLwww.example.com#program中提取锚定信息,然后使用该锚定指定要加载的onload 因此,理论上,www.example.com#program将执行以下操作: <img src="program.png" width="159" height="115" onload= "ShowHide('ACE', 'hidden');

在我们的网站上,我们有一个页面,我们有5个按钮的图像。单击每个按钮时,将使用onclick函数显示更详细的信息

我们要做的是从URL
www.example.com#program
中提取锚定信息,然后使用该锚定指定要加载的onload

因此,理论上,
www.example.com#program
将执行以下操作:

<img src="program.png" width="159" height="115"

   onload=
    "ShowHide('ACE', 'hidden');
     ShowHide('program', 'visible');
     ShowHide('ACE2', 'hidden');
     ShowHide('ACE3', 'hidden');
     ShowHide('ACE4', 'hidden'); "/>

任何帮助都将不胜感激

如果您关注哈希的更改,则可以更动态地执行此操作:

var sections = ['ACE', 'program', 'ACE2', 'ACE3', 'ACE4'];

window.onhashchange = function(evt) {
   var hash = location.hash.substr(1);
   // iterate sections and make section at location.hash visible
   sections.forEach(function(section) {
      var visibility = 'hidden';
      if(section === hash) {
         visibility = 'visible';
      }
      ShowHide(section, visibility);
   });
};
您可以在此处查看演示:,打开控制台查看哪些项目可见,哪些项目隐藏

因为您已经为每个图像按钮设置了onclick,所以当用户单击按钮时,您需要更新散列。您没有发布处理图像按钮单击的代码,但它类似于:

imageButton.onclick = function() {
   // whatever you are currently doing when the user clicks the image button
   location.hash = 'ACE'; // or whichever button they clicked
}

谢谢你的工作完美!我要做的是添加scrolltop函数,因为它会在页面上跳转。它可以正常工作。当我在页面上手动输入哈希“www.example.com#ACE”时,它会加载完美。当我使用相同的URL从社交媒体帖子进入页面时,它不会加载。你需要调用
location.hash='ACE'
,等等。在你的按钮onclick中,更新onclick中的hashDoes,如下所示:
我已经更新了我的答案,你说你已经为你的图像按钮设置了onclick处理程序,您需要更新每个单击处理程序中的位置哈希,我发布的其他代码应该放在任何onclick处理程序之外。
imageButton.onclick = function() {
   // whatever you are currently doing when the user clicks the image button
   location.hash = 'ACE'; // or whichever button they clicked
}