在Javascript OnClick中传递多个值,并以特定方式使用这些值 虽然我已经做了一些JavaScript编码,但我认为自己是一个新手,FraveStand型编码器,基本上是用试验和错误来切割和粘贴,看我是否能得到一些东西……只是我对我的经验水平的诚实评估。
我有一个独特的东西,我正在开发,并希望得到一些帮助与Javascript。以下是我正在尝试/需要做的:对于基于网页的kiosk演示,我使用一个HTML网页,但有多个部分,它们的可见性根据我目前使用的Javascript进行切换,效果很好。(我不想/不能使用带有链接的常规HTML页面,因为它最终是如何运行的) 上述问题的唯一问题是,没有简单的方法为可能有多种访问方式的结束页创建“返回”或“上一页”链接。它不会“知道”用户来自哪里 下面是我要做的:通过OnClick javascript函数传递2个变量,该函数是需要打开/关闭的DIV名称。。。和当前可见DIV名称的第二个变量,这样切换的下一个DIV可以“记住”上一个(现在不可见)DIV是什么,这样就可以有一个准确的“后退”按钮 下面是一些示例代码: 打开和关闭的每个DIV部分的设置如下:在Javascript OnClick中传递多个值,并以特定方式使用这些值 虽然我已经做了一些JavaScript编码,但我认为自己是一个新手,FraveStand型编码器,基本上是用试验和错误来切割和粘贴,看我是否能得到一些东西……只是我对我的经验水平的诚实评估。,javascript,html,Javascript,Html,我有一个独特的东西,我正在开发,并希望得到一些帮助与Javascript。以下是我正在尝试/需要做的:对于基于网页的kiosk演示,我使用一个HTML网页,但有多个部分,它们的可见性根据我目前使用的Javascript进行切换,效果很好。(我不想/不能使用带有链接的常规HTML页面,因为它最终是如何运行的) 上述问题的唯一问题是,没有简单的方法为可能有多种访问方式的结束页创建“返回”或“上一页”链接。它不会“知道”用户来自哪里 下面是我要做的:通过OnClick javascript函数传递2个
<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您将能够利用浏览器内置的后退和前进功能