【发布时间】:2013-04-15 14:49:06
【问题描述】:
美好的一天!
我想问一些事情。有没有这样一种方法可以缩短我在 jquery 中的这些行?我的意思是特别在 if-else 部分。谢谢!
$("#banner a").bind("click",function(event){//2
event.preventDefault();
target = $(this).attr("href");
if(target=="#home"){
$("#prevID").attr("class","");
$("#nextID").attr("class","next");
$("#nextID").attr("href","#home");
$("#prevID").attr("href","#home");
}else if(target=="#newsletter"){
$("#prevID").attr("class","prev");
$("#nextID").attr("href","#newsletter");
$("#prevID").attr("href","#newsletter");
}else if(target=="#directions"){
$("#prevID").attr("class","prev");
$("#nextID").attr("href","#directions");
$("#prevID").attr("href","#directions");
}else if(target=="#contact"){
$("#prevID").attr("class","prev");
$("#nextID").attr("class","");
$("#nextID").attr("href","#contact");
$("#prevID").attr("href","#contact");
}else{}
$("html, body").stop().animate({
scrollLeft: $(target).offset().left,
scrollTop: $(target).offset().top
}, 1200);
});//closing 2
$(".next").bind("click",function(event){//3
event.preventDefault();
target = $(this).attr("href");
if(target=='#home'){
a='#newsletter';
$(".next").attr("href","#newsletter");
$("#prevID").attr("class","prev");
$("#prevID").attr("href","#newsletter");
}else if(target=='#newsletter'){
a='#directions';
$(".next").attr("href","#directions");
$("#prevID").attr("href","#directions");
}else if(target=='#directions'){
a='#contact';
$(".next").attr("href","#contact");
$("#prevID").attr("href","#contact");
$(".next").attr("class","");
}else{}
$("html, body").stop().animate({
scrollLeft: $(a).offset().left,
scrollTop: $(a).offset().top
}, 1200);
// $(".next").attr("href","#");
});//closing 3
$("#prevID").bind("click",function(event){//3
event.preventDefault();
target = $(this).attr("href");
if(target=='#newsletter'){
a='#home';
$("#prevID").attr("href","#home");
$(".next").attr("href","#home");
$("#prevID").attr("class","");
}else if(target=='#directions'){
a='#newsletter';
$("#prevID").attr("href","#newsletter");
$(".next").attr("href","#newsletter");
}else if(target=='#contact'){
a='#directions';
$("#prevID").attr("href","#directions");
$("#nextID").attr("class","next");
$("#nextID").attr("href","#directions");
}else{}
$("html, body").stop().animate({
scrollLeft: $(a).offset().left,
scrollTop: $(a).offset().top
}, 1200);
// $(".next").attr("href","#");
});//closing 3
});
看起来有点匆忙。另外,我还在学习 jquery,所以我为非常规的语法道歉。 :)
【问题讨论】:
-
我们不是代码审查服务。
-
去那里:codereview.stackexchange.com 或聘请开发人员
-
你熟悉
switch()语句吗? -
对不起。仍然得到这个见鬼。但感谢您提供的信息。
标签: javascript jquery if-statement simplify