jQuery - 获取url的id并执行某些操作(if / else)

时间:2014-08-12 19:57:28

标签: javascript jquery

我正在尝试实现'简单'的jQuery效果。 当用户加载其信息中心,并且他们在网址中有特定的id (#)时,信息中心应加载分配给该特定ID的内容。

这是我到目前为止所做的:

var pathname = window.location.hash.substr(1);
        if(pathname = loadextra){
            $('.loadextra').addClass('active');
            $('.load-fixed').removeClass('active');
            $('.fixed-ads').hide();
            $('#loader').show().html('<div class="typing_loader_holder"><div class="typing_loader"></div></div>');

            setTimeout(
              function() 
              {
                $('#loader').hide();
                $('.extra-ads').show();
              }, 2000);

        }elseif(pathname = loadfixed){
                $(this).addClass('active');
                $('.load-extra').removeClass('active');
                $('.extra-ads').hide();
                $('#loader').show().html('<div class="typing_loader_holder"><div class="typing_loader"></div></div>');
                setTimeout(
                  function() 
                  {
                    $('#loader').hide();
                    $('.fixed-ads').show();
                  }, 2000); 
        }else{
            //do nothing
        }

因此,假设用户访问:http://website.com/user#loadextra,那么if(pathname = loadextra){}中的代码应该被触发 - 同样适用于#loadfixed

尽管如此,如果您只是前往http://website.com/user,则if(pathname = loadextra){}会被解雇。

为什么if / elseif / else语句在我的代码中不起作用?

2 个答案:

答案 0 :(得分:2)

你犯了三个错误:

1)将“=”替换为“==”in if&amp; ELSEIF

2)将'elseif'替换为'else if'

3)将$(this).addClass('active');替换为$('.loadfixed').addClass('active');

答案 1 :(得分:0)

试试这个:

if(pathname == loadextra)