Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/415.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/79.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 OnClick中传递多个值,并以特定方式使用这些值 虽然我已经做了一些JavaScript编码,但我认为自己是一个新手,FraveStand型编码器,基本上是用试验和错误来切割和粘贴,看我是否能得到一些东西……只是我对我的经验水平的诚实评估。_Javascript_Html - Fatal编程技术网

在Javascript OnClick中传递多个值,并以特定方式使用这些值 虽然我已经做了一些JavaScript编码,但我认为自己是一个新手,FraveStand型编码器,基本上是用试验和错误来切割和粘贴,看我是否能得到一些东西……只是我对我的经验水平的诚实评估。

在Javascript OnClick中传递多个值,并以特定方式使用这些值 虽然我已经做了一些JavaScript编码,但我认为自己是一个新手,FraveStand型编码器,基本上是用试验和错误来切割和粘贴,看我是否能得到一些东西……只是我对我的经验水平的诚实评估。,javascript,html,Javascript,Html,我有一个独特的东西,我正在开发,并希望得到一些帮助与Javascript。以下是我正在尝试/需要做的:对于基于网页的kiosk演示,我使用一个HTML网页,但有多个部分,它们的可见性根据我目前使用的Javascript进行切换,效果很好。(我不想/不能使用带有链接的常规HTML页面,因为它最终是如何运行的) 上述问题的唯一问题是,没有简单的方法为可能有多种访问方式的结束页创建“返回”或“上一页”链接。它不会“知道”用户来自哪里 下面是我要做的:通过OnClick javascript函数传递2个

我有一个独特的东西,我正在开发,并希望得到一些帮助与Javascript。以下是我正在尝试/需要做的:对于基于网页的kiosk演示,我使用一个HTML网页,但有多个部分,它们的可见性根据我目前使用的Javascript进行切换,效果很好。(我不想/不能使用带有链接的常规HTML页面,因为它最终是如何运行的)

上述问题的唯一问题是,没有简单的方法为可能有多种访问方式的结束页创建“返回”或“上一页”链接。它不会“知道”用户来自哪里

下面是我要做的:通过OnClick javascript函数传递2个变量,该函数是需要打开/关闭的DIV名称。。。和当前可见DIV名称的第二个变量,这样切换的下一个DIV可以“记住”上一个(现在不可见)DIV是什么,这样就可以有一个准确的“后退”按钮

下面是一些示例代码:

打开和关闭的每个DIV部分的设置如下:

<div id="sectionName" class="content">
</div>
<a href="#" onclick="toggleVisibility('sectionName');"></a>
<a href="#" onclick="toggleVisibility('sectionNameToTurnOn, 'rememberThisSectionName');"></a>

这些div具有如下设置的按钮/链接:

<div id="sectionName" class="content">
</div>
<a href="#" onclick="toggleVisibility('sectionName');"></a>
<a href="#" onclick="toggleVisibility('sectionNameToTurnOn, 'rememberThisSectionName');"></a>

它们运行一个JavaScript:

function toggleVisibility(selectedTab) {

     var content = document.getElementsByClassName('content');

     for(var i=0; i<content.length; i++) {
          if(content[i].id == selectedTab) {
                content[i].style.display = 'block';
          } else {
                content[i].style.display = 'none';
          }
     }

}
功能切换可见性(selectedTab){
var content=document.getElementsByClassName('content');

对于(var i=0;i来说,一个简单的解决方案是在HTML页面上呈现两个内容页面,并在需要时通过CSS中的javascript从onlick处理程序显示和隐藏内容。添加一个类:

function showDiv() {
    document.getElementById("theObject").className = "visible";
} 
CSS:

另一个解决方案是通过javascript使用会话“php”来保存带有in语句的变量

<?php if (session_status() == PHP_SESSION_NONE) {
session_start();
$_SESSION['user_is where_variable'] = "im on page div 1";
}

您可以使用位置哈希(mypage.html#mydivid),然后使用
history.back()
来处理“后退”导航

要在正确的哈希值上缝合div的显示

var oldHash = '';

// fires when the hash changes
function hash_changed() {
    var hash = location.hash.replace('#', ''); // get the div ID
    var div = document.getElementById(hash); // find the content div on the page
    var allDivs = document.getElementByClassName('content'); // get all of the content divs

    // hide all the content divs
    for (var i = 0; i < allDivs.length; i++) {
        var thisDiv = allDivs[i];
        thisDiv.style.display = 'none';
    }

    // only show the right one
    div.style.display = 'block';       
}

// this triggers the event
setInterval(function() {

    // if the hash has changed, fire the function
    if (oldHash != location.hash) {
        oldHash = location.hash;
        hash_changed();
    }

}, 100); // call every 100 ms so that there is no lag
var oldHash='';
//当哈希值更改时激发
函数hash_changed(){
var hash=location.hash.replace('#','');//获取div ID
var div=document.getElementById(散列);//在页面上查找内容div
var allDivs=document.getElementByClassName('content');//获取所有内容div
//隐藏所有内容div
对于(var i=0;i

因此,如果将导航设置为“mypage.html#sectionName”,它将隐藏类“content”的所有其他div,然后仅显示ID为“sectionName”的div。

为什么不将所需的值保存在全局变量中?尤其是在您的背景下,使用现有的div不是更好的方法吗“单页web应用程序"框架,而不是笨拙地尝试自己构建一个?!不确定这是否满足了我的要求…我已经可以使div出现和消失…我需要添加一个“面包屑”以便“上一页”链接工作…Michael,谢谢…但请记住,我没有重新加载HTML…我只是在切换div的打开和关闭…查看:这一切都很好,这将不会重新加载HTML向位置添加哈希通常会使浏览器滚动,以使地址项位于屏幕顶部。因为我们隐藏了页面上除您想要的div以外的所有内容,因此不会发生此滚动,并且它将计作浏览器中的导航更改。使用导航ion change您将能够利用浏览器内置的后退和前进功能