0

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

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

 $(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 名称单击页面上的链接时,此代码将隐藏或显示内容。现在我想要做的是让上一页中的链接指示此页面上的某些链接,如显示的那样。以下是一些 in body 代码。

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

默认情况下,“猫用品”是可见的,但“猫床”是隐藏的,直到单击“猫用品”,然后可能有子级别,因此“猫床”下的更多项目这个想法是当您从其他页面链接时加载它某些项目已经打开。希望我说得足够清楚,对这个网站还是新手并发布问题。

4

1 回答 1

0

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

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

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

请参阅此处的 url 数组示例: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,但我没有。没有它就可以了。

于 2013-07-24T21:41:00.153 回答