<分区>
我在上面有一张图片,我有“N”个链接。每次点击它都会打开一个小的弹出窗口。下面的代码工作正常,但我不想要冗余代码和另外一件事,我应该只能打开一个弹出窗口。帮助我更好的方法代码广告
$('.info1').on('click',function()
{
$('.info1-desc').css('display','block');
});
$('.info2').on('click',function()
{
$('.info2-desc').css('display','block');
});
$('.info3').on('click',function()
{
$('.info3-desc').css('display','block');
});
最佳答案
您可以将所有链接包装在一个容器中以监听子点击,或者您可以使用多个选择器:
$('.info1', '.info2', '.info3', '.info4').on('click',function() {
//little concat to get wanted block
var blockName = $(this).get('class');
blockName = '.' + blockName + '-desc';
//first we hide all blocks, then toggle does the checking if is hidden then show, if showed then hide
$('.info1-desc', '.info2-desc', '.info3-desc', '.info4-desc').hide();
$(blockName).toggle();
}
关于jquery - 寻找更好的替代方法代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50296011/