你能从上一页的链接执行某些加载功能吗

Can you perform certain onload functions from a link on a previous page

本文关键字:加载 功能 执行 链接 一页      更新时间:2023-09-26

我甚至不确定我的想法是否有效,而且似乎找不到合适的措辞和搜索结果,所以这里是。

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

 $(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 />

默认情况下,"Cat Articles"是可见的,但"Cat Beds"是隐藏的,直到单击"Cat Article",然后可能会有子级别,因此"Cat Bed"下会有更多的项目。这个想法是当你从另一个页面链接时,加载某些已经打开的项目。希望我说得足够清楚,仍然是这个网站的新手,并发布问题。

在原始页面的链接中添加一个参数。类似于domain.com/page.html?id=5,然后让javascript检查id的QueryString,并用它做一些类似于开关的事情。

请参阅如何在JavaScript中获取查询字符串值?如果您不熟悉如何获取QueryStrings。

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

请在此处查看数组到url的示例:JavaScript数组到url Lencoded

示例(原始页面):

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,但我没有。没有它就行了。