Javascript 您可以从上一页的链接执行某些onload功能吗
我甚至不确定我的想法是否有效,而且似乎找不到合适的措辞来获取和搜索结果,这些都是有帮助的,所以就这样吧 我希望能够做的是从一个页面中获得一个链接,然后使链接页面以某种方式显示。下面的代码是我将链接到的页面上使用的脚本Javascript 您可以从上一页的链接执行某些onload功能吗,javascript,jquery,hyperlink,Javascript,Jquery,Hyperlink,我甚至不确定我的想法是否有效,而且似乎找不到合适的措辞来获取和搜索结果,这些都是有帮助的,所以就这样吧 我希望能够做的是从一个页面中获得一个链接,然后使链接页面以某种方式显示。下面的代码是我将链接到的页面上使用的脚本 $(document).ready(function() { $('.hideshow').click(function () { var name = $(this).attr('id').replace("-L","")
$(document).ready(function() {
$('.hideshow').click(function () {
var name = $(this).attr('id').replace("-L","");
if ($(this).hasClass("hidden")) {
$(this).addClass("shown");
$(this).removeClass("hidden");
$('div#' + name).show(500);
} else {
$(this).addClass("hidden");
$(this).removeClass("shown");
$('div#' + name).hide(500);
}
});
});
当使用文件正文中使用的id名称单击页面上的链接时,此代码将隐藏或显示内容。现在我想做的是,让上一页的链接指示此页上显示的某些链接。以下是一些内部代码
<a class="hideshow hidden" id="cat-articles-L" style="cursor:pointer;"><font style="font-size:24px; color:#06F; text-decoration:underline;"> Cat Articles</font></a><br />
<div id="cat-articles" style="display:none;">
<a class="hideshow hidden" id="cat-beds-L" style="cursor:pointer;"><font style="font-size:18px; color:#06F; text-decoration:underline;">Cat Beds</font></a><br />
Cat文章
猫床
默认情况下,“猫床”是可见的,但在单击“猫床”之前,“猫床”是隐藏的,然后可能会有子级别,因此“猫床”下会有更多项目。想法是当您从另一个页面链接并加载某些已打开的项目时。
希望我说得够清楚了,这个网站还是新的,并发布了一些问题。在原始页面的链接中添加一个参数。类似于
domain.com/page.html?id=5
,然后让javascript检查id
的查询字符串,并对其执行类似于切换的操作
如果不熟悉,请查看如何获取查询字符串
如果需要传递多个相同类型(例如,多个ID),可以创建一个数组并将该数组传递给另一个页面。在该数组中,包括要显示的每个id
请参见此处指向url的数组示例:
示例(原始页):
示例(链接页面):
var qs=(函数(a){
如果(a==“”)返回{};
var b={};
对于(变量i=0;i
注意:看起来我使用的是JQuery,但实际上不是。如果没有它,这就可以正常工作。我不完全确定是否遵循,但我可以通过这种方式传递多个id,我希望能够做的一些事情是将深度乘以级别,因此id=5可能是顶级,需要显示,但id=25在id=5内,这两个是我唯一想要显示的。“通过您的解决方案,这可能吗?”DarrenM添加了一些代码示例。希望这些能更好地理解我指的是什么。如果您使用PHP执行此操作,则可以使用会话在页面之间传递。我之前没有提到它,因为您从未指定是否使用php/asp.net/etcI。我假设数组中使用的数字只是示例,我可以将它们替换为链接页面上使用的命名ID。还有什么是我需要做的链接本身,它是在页面上链接?链接页面也是一个.aspx文件
var idArray = new Array(1,5,15,38);
var url = "http://www.blah.com/link.html?"+idArray.join('&');
var qs = (function(a) {
if (a == "") return {};
var b = {};
for (var i = 0; i < a.length; ++i)
{
var p=a[i].split('=');
if (p.length != 2) continue;
b[p[0]] = decodeURIComponent(p[1].replace(/\+/g, " "));
}
return b;
})(window.location.search.substr(1).split('&'));
var idArray = qs["id"];
for (var i = 0; i < idArray.length; i++) {
switch(idArray[i]){
case 1:
//show link1
break;
case 2:
//show link3
break;
default:
//do nothing, but required
break;
}
}