我正在尝试实现'简单'的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语句在我的代码中不起作用?
答案 0 :(得分:2)
你犯了三个错误:
1)将“=”替换为“==”in if&amp; ELSEIF
2)将'elseif'替换为'else if'
3)将$(this).addClass('active');
替换为$('.loadfixed').addClass('active');
答案 1 :(得分:0)
试试这个:
if(pathname == loadextra)