使用Jquery,将显示块更改为none不能再次进入块
在这里,我的HTML。
这是jquery
$('#clickable div img').hide(); $('div.clickable').css('display','none'); $( ".color_area div" ).on( "click", function() { var color = $( this ).attr( "data-color" ); $( "div.clickable" ).each( function() { var forColor = $( this ).attr( "id" ); if( forColor == color ) { if( $( this ).css('display') == 'block'){ $( this ).hide(); } $( this ).addClass( "selected" ); $( this ).css('display','block'); }else { $( this ).removeClass( "selected" ); } }); }); $( "div.clickable" ).on( "click", function() { if( $( this ).hasClass( "selected" ) ) { var color = $( this ).attr( "class" ); $( this ).find('img').show(); $( "." + color + " img" ).each( function() { $( this ).remove(); }); } }); });
click_red类总是在div#clickable
#clickable前面,这就是为什么我必须显示none或block。 我只能选择一次颜色,因为它们都改为display:block
,然后click_red类停留在click_blue和click_green之前,我再也不能点击了。 我想点击颜色来做addClass( "selected" )
和$( this ).css('display','block');
再次。 有人有什么想法吗?
编辑:好的,我有一张地图,它有18个区域图像,它们display:none
人点击div#clickable
,人们需要先选择颜色,然后点击可点击区域来决定要显示哪种颜色的图像在地图上。 就像着色一样,我可以选择不同的颜色来点击不同的区域并显示正确的颜色图像。
这里的小提琴点击我
好吧,我仍然无法完全得到它。 我仍然创造了一个小提琴,解释了一些有用的东西。 您还需要什么,请在评论中更新。 使用.hide() and .show()
代替.hide() and .show()
disply:none / block
。