我对 jQuery 相当陌生,希望对我的以下 jQuery 代码块有一些指示,我有兴趣编写更好的代码。
基本上,当您单击两个菜单项之一时,代码只是从左侧滑入内容,然后再单击将其滑出。我想我正试图将它组合成一个代码块而不是两个函数。
$('#menu-item-91').click(function(e) {
e.preventDefault();
//console.log("Clicked");
//$('.about').css('display','inherit').slideDown(3000);
var sliding = $('.sliding');
var sliding1 = $('.sliding1');
if( sliding.css('display') == "none" && sliding1.css('display') == "none" ) { //show it
sliding.fadeIn(0);
sliding.animate({"left": 0},800);
}else if ( sliding.css('display') == "none" && sliding1.css('display') == "block" ) {
sliding1.animate({"left": -300},500 );
sliding1.delay(500).fadeOut(0);
sliding.fadeIn(0);
sliding.animate({"left": 0},800);
} else {
sliding.animate({"left": -300},500 );
sliding.delay(500).fadeOut(0);
}
});
$('#menu-item-17').click(function(e) {
e.preventDefault();
//console.log("Clicked");
//$('.about').css('display','inherit').slideDown(3000);
var sliding = $('.sliding1');
var sliding1 = $('.sliding');
if( sliding.css('display') == "none" && sliding1.css('display') == "none" ) { //show it
sliding.fadeIn(0);
sliding.animate({"left": 0},800);
}else if ( sliding.css('display') == "none" && sliding1.css('display') == "block" ) {
sliding1.animate({"left": -300},500 );
sliding1.delay(500).fadeOut(0);
sliding.fadeIn(0);
sliding.animate({"left": 0},800);
} else {
sliding.animate({"left": -300},500 );
sliding.delay(500).fadeOut(0);
}
});
就是这样!这是我的第一篇文章,所以我希望我没有违反任何规则,并且有人可以帮助我变得更好!
问候汤姆
编辑
多谢你们!还不想标记答案,因为我认为我可能错过了与某些答案相关的一些细节。
.sliding 和 .sliding1 这两个类被添加到单独的 div 中——一个称为投资组合,一个称为 about。
所以想法是,如果您单击 about 菜单项,about div 会滑入,然后如果您要单击投资组合菜单项,那么 about 会滑出,投资组合会滑入。但如果没有显示任何项目,那么您的项目点击会滑入。
希望这可以澄清一些事情,当单击任一菜单项时,一些答案只会滑入相同的内容中。
谢谢!