您可以从上一页的链接执行某些onload功能吗?

时间:2013-07-24 21:36:59

标签: javascript jquery hyperlink

我甚至不确定我的想法会起作用,而且似乎无法找到正确的措辞来获取和搜索远程有用的结果,所以这里就是这样。

我希望能够做的是从一个页面获得链接,然后使链接页面以某种方式显示。下面的代码是我要链接到的页面上使用的脚本。

 $(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;">
                   &nbsp;&nbsp;&nbsp;&nbsp;<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 />

默认情况下,“猫文章”可见,但“猫床”隐藏,直到“猫文章”被点击,然后可能会有子层,所以更多的项目在“猫床”下这个想法是当你从其他页面链接加载某些已打开的物品。 希望我能够清楚地说明这一点,对这个网站来说还是新手并发布问题。

1 个答案:

答案 0 :(得分:0)

将参数添加到原始页面上的链接。像domain.com/page.html?id=5这样的东西,然后javascript检查id的QueryString,并执行类似于开关的操作。

如果您不熟悉,请参阅How can I get query string values in JavaScript?了解如何获取QueryStrings。

如果需要传递多个相同类型(例如,多个ID),则可以创建一个数组并将该数组传递给另一个页面。在该数组中,包括您要显示的每个ID。

请在此处查看要添加到网址的数组示例:JavaScript Array to URLencoded

示例(原始页面):

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;
    }
}

注意:看起来我正在使用JQuery,但我不是。这将在没有它的情况下正常工作。