2011-03-16 53 views
0

我有一个州的地图,它的县被切成图片地图。而不是有不同的功能点击每个县和显示其统计数据是有办法使用以外的东西:slideToggle在页面上的众多元素

$('#county).click(function(){$(#countystats).slideToggle('fast');所有不同的县100+倍?

+0

我不明白 - 你想以编程方式触发'click'吗?如果是这样,你可以使用$('#county')。trigger('click');'另一方面,如果你想让所有的stats元素一次滑动,你可以添加一个类给所有人使用作为选择器 - '$('。countyStats')。slideToggle('fast')' – 2011-03-16 13:46:45

+0

不,说有三个县a,b,c。而不是写三个不同的JavaScript来滑动他们所有三个我想知道是否有办法我可以写一个函数,承认每个县的ID或类,并有slideToggle的工作。而不必编写上述脚本的100个版本。 – wootscootinboogie 2011-03-16 13:50:52

+0

我不希望所有人都一次滑动。我只是想知道是否有可能为页面上的所有不同元素一次工作一个函数。 – wootscootinboogie 2011-03-16 13:53:43

回答

0

无论何时您需要将多个元素的样式设置为相同或您可能需要将其选为“组”,您可以使用类而不是id。

所以,如果你想点击处理程序附加到所有县元素,你可以一个class属性添加到每个divspan或任何和使用,作为选择。

$('.county').click(function(){ 
      $(this).find('.countystats').slideToggle('fast') 
}); 

这样做是附加一个点击监听到每一个元素都有class='county'(例如,<div class='county'>甚至<img class='county'>),并在该元素的点击,切换它与countystats类派生元素在页面上。

我在这里假设你有一个单独的countystats元素。相反,如果你已经一个<div>idcountystats,你可以保持原来的通话

$('#countystats').slideToggle('fast');

但要注意,它看起来像它会导致countystats将可能触发了与第二次点击,所以你想要改变它的处理方式。例如,我点击县1,统计信息滑入视图。我点击县2,同样的处理程序被解雇,所以元素是切换为