显示一定数量的div

时间:2012-03-25 18:13:04

标签: jquery events show

我有这段代码Math.min(someVariable, 500))我还有一些我隐藏的div (display:none)我的问题是:如何使用上面的代码与Jquery事件'show'相关联?我知道这个活动是如何运作的,但我不知道怎么把两个和两个放在一起。

所以'show'事件应该是show 'someVariable' or 500的div。 someVariable是一个数字(从0到10亿)

2 个答案:

答案 0 :(得分:1)

您可以使用:lt选择器显示前500(基于零)。如果有少于500将显示全部,如果有更多将只显示500

http://api.jquery.com/lt-selector/

     $('.someClass:lt(500)').show();

编辑:使用变量需要将变量连接到选择器字符串:

   $('.someClass:lt('+Math.min(someVariable, 500)+')').show();

slice(startIndex,endIndex)方法根据您要显示的索引值进行过滤

http://api.jquery.com/slice/

答案 1 :(得分:1)

我需要更多信息来解决您的具体示例,但让我尝试填写一些细节以获得更具体的解决方案。

我假设你有一堆带有id的div:“fieldDiv1”,“fieldDiv2”等都可能隐藏起来。而且你有一堆<input type="text">字段包含你的'someVariable'数字,这些字段包含:“fieldValue1”,“fieldValue2”等等。因此,在javascript中你可以调用以下函数来解决你的问题:

setVisibility : function() {
   for(var i = 1; document.getElementById("fieldDiv" + i) != null; i++) {
      if(!$("#fieldDiv" + i).is(':hidden') && document.getElementById("fieldValue" + i).value < 500) {
          $("#fieldDiv" + i).hide();
      else if($("#fieldDiv" + i).is(':hidden') && document.getElementById("fieldValue" + i).value >= 500){
          $("#fieldDiv" + i).show();
      }
   }
},

我知道我必须在那里做很多事,但我希望有所帮助。