我有这段代码Math.min(someVariable, 500))
我还有一些我隐藏的div (display:none)
我的问题是:如何使用上面的代码与Jquery事件'show'
相关联?我知道这个活动是如何运作的,但我不知道怎么把两个和两个放在一起。
所以'show'
事件应该是show 'someVariable' or 500
的div。
someVariable是一个数字(从0到10亿)
答案 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)
方法根据您要显示的索引值进行过滤
答案 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();
}
}
},
我知道我必须在那里做很多事,但我希望有所帮助。