0

我有以下导航:

<ul id="chooseType" class="chooseType">
<li><a id="active" href="#" title="" class="active selected">Active</a></li>
<li><a id="inactive" href="#" title="" class="inactive">Inactive</a></li>
</ul>

使用此脚本:

        <script th:inline="javascript">
                            /*<![CDATA[*/
                            $(document).ready(function() {

                                $('#active').click(function(){
                                    $('#active').addClass('selected');
                                    $('#inactive').removeClass('selected');
                                    $('#activeList').show();
                                    $('#inactiveList').hide();
                                });
                                $('#inactive').click(function(){
                                    $('#active').removeClass('selected');
                                    $('#inactive').addClass('selected');
                                    $('#activeList').hide();
                                    $('#inactiveList').removeClass('hidden');
                                    $('#inactiveList').show();
                                });
                            });
                            /*]]>*/
        </script>

单击单独页面上的链接后,我需要能够直接导航到非活动视图。如何在从不同页面上的链接访问页面时触发 ('#inactive').click?为了空间和简单性,不包括要显示/隐藏的 div。

编辑:缺少的 }); 为了清楚起见,我删除了一些不相关的代码无意中消失了。

4

2 回答 2

1

IMO 最简洁的方法是将匿名函数从 .click() 处理程序中提取出来,为其命名,然后将#inactive函数绑定为在加载时以及在 .click() 上运行,如下所示:

                    $(document).ready(function() {
                        var active = function(){
                            $('#active').addClass('selected');
                            $('#inactive').removeClass('selected');
                            $('#activeList').show();
                            $('#inactiveList').hide();};
                        var inactive = function(){
                            $('#active').removeClass('selected');
                            $('#inactive').addClass('selected');
                            $('#activeList').hide();
                            $('#inactiveList').removeClass('hidden');
                            $('#inactiveList').show();};

                        $('#active').click(active);
                        $('#inactive').click(inactive);
                        inactive();
                    });
于 2013-10-08T19:13:15.973 回答
0

如果您从特定位置单击指向页面的链接,请为页面提供 GET 值。

假设以下是来自相关特定位置的当前锚元素

<a href = "mydestinationpage.php">Click me</a>

将其更改为

<a href = "mydestinationpage.php?from=1">Click me</a>

在目标页面上,获取 GET 值

$from_value = $_GET["from"];

然后在你的 JavaScript 中寻找值

var from_value = "<?php echo $from_value; ?>";
if(from_value != "" && from_value != null){
    $('#active').removeClass('selected');
           $('#inactive').addClass('selected');
           $('#activeList').hide();
           $('#inactiveList').removeClass('hidden');
           $('#inactiveList').show();
    }

如果提供了 GET 值,则执行相关的 JavaScript 代码。如果没有 GET 值,则不会发生任何事情

我假设您在此解决方案中使用 PHP

于 2013-10-08T19:32:27.253 回答