Javascript 我怎样才能使这个重复的jQuery变得不那么复杂呢?
我有4个jQuery块,如下所示:Javascript 我怎样才能使这个重复的jQuery变得不那么复杂呢?,javascript,jquery,optimization,Javascript,Jquery,Optimization,我有4个jQuery块,如下所示: $('#aSplashBtn1').click(function(){ $('#divSliderContent div').hide(); $('#divSplash1').fadeIn('slow'); return false; }); $('#aSplashBtn2').click(function(){ $('#divSliderContent div').hide(); $('#divSplash2').fadeIn('slow
$('#aSplashBtn1').click(function(){
$('#divSliderContent div').hide();
$('#divSplash1').fadeIn('slow');
return false;
});
$('#aSplashBtn2').click(function(){
$('#divSliderContent div').hide();
$('#divSplash2').fadeIn('slow');
return false;
});
$('#aSplashBtn3').click(function(){
$('#divSliderContent div').hide();
$('#divSplash3').fadeIn('slow');
return false;
});
$('#aSplashBtn4').click(function(){
$('#divSliderContent div').hide();
$('#divSplash4').fadeIn('slow');
return false;
});
我已经尝试学习了更多关于javascript数组和for循环的知识,但是当我尝试将其实现到这段代码中时,它只适用于数字1块。有人能告诉我他们将如何实现优化吗
变化
这将设置一个单独的处理程序,该处理程序将使用以aSplashBtn
开头的id
匹配每个元素。您的id可以达到您想要的最高值(即#aSpashBtn100
),并且它仍然会与正确的div#divSplash100
配对
另外,我将#divSliderContent div
缓存在它自己的变量中,因为您不希望jQuery在每次单击时再次“查找”
这将设置一个单独的处理程序,该处理程序将使用以aSplashBtn
开头的id
匹配每个元素。您的id可以达到您想要的最高值(即#aSpashBtn100
),并且它仍然会与正确的div#divSplash100
配对
另外,我将
#divSliderContent div
缓存在它自己的变量中,因为您不希望jQuery在每次单击时再次“查找它”。如果可单击的项目是同级项,您可以执行以下操作:
$('#aSplashBtn1').siblings().andSelf().click(function(e){
$('#divSliderContent div').hide();
$('#divSplash'+e.target.id.substr(e.target.id.length-1)).fadeIn('slow');
e.preventDefault();
});
如果可单击的项目是同级项目,则可以执行以下操作:
$('#aSplashBtn1').siblings().andSelf().click(function(e){
$('#divSliderContent div').hide();
$('#divSplash'+e.target.id.substr(e.target.id.length-1)).fadeIn('slow');
e.preventDefault();
});
#aSplashBtn4在哪里实现到#divSplash4?不仅仅是
for(var i=1;i<5;i++)
work?你能发布一个你的标记示例吗?在哪里实现到#divSplash4?不仅仅是for(var i=1;i<5;i++)
work您是否也希望接受匿名函数上的e
参数并运行e.preventDefault()代码>以防止页面跳转?(我假设asplashbtn是a
tags)很好,我只是输入returnfalse代码>虽然要使其与OPYes等效,这更好-使用此选项!:)您是否也希望接受匿名函数上的e
参数并运行e.preventDefault()代码>以防止页面跳转?(我假设asplashbtn是a
tags)很好,我只是输入returnfalse代码>尽管,以使其与OP等效
$('#aSplashBtn1').siblings().andSelf().click(function(e){
$('#divSliderContent div').hide();
$('#divSplash'+e.target.id.substr(e.target.id.length-1)).fadeIn('slow');
e.preventDefault();
});