导航到页面时在jquery中触发Click事件

时间:2013-10-08 19:04:55

标签: javascript jquery html

我有以下导航:

<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')。点击从其他页面上的链接访问该页面?为了空间和简洁,不包括要显示/隐藏的div。

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

2 个答案:

答案 0 :(得分: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();
                    });

答案 1 :(得分: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这个解决方案