Dutch page containing DIV
blocks which can be hidden using a jQuery script.
如果您使用 IE 查看此页面,您会注意到过滤(隐藏/取消隐藏DIV
块非常慢。
我使用的是IE 8,Opera 11,Firefox 11,Chrome 18。
使用任何其他浏览器: Chrome , Firefox 和 Opera ,更快。
任何博德都可以告诉我为什么会这样吗?
或者,有人可以提出建议,使其在IE中更具响应性吗?
这是我用来执行过滤的代码段:
<form class="searchBox">
Zoek naar <input type="text" name="filterargument" id="filterargument" />
<input type="button" name='filterbutton' id='filterbutton' value="filter..." />
<i>(deel van de) clubnaam , de federatie of het clubnr</i>
</form>
<script type="text/javascript">
var $filterArgument = $("#filterargument");
$('#filterargument').keyup( function() { performFilter(); });
$('#filterbutton').click( function() { performFilter(); });
function performFilter() {
var filterArgument = $filterArgument.val();
if (filterArgument === '') {
$('.filterbaar').show(); }
else {
$('.filterbaar:not(:icontains("' + filterArgument + '"))').hide();
$('.filterbaar:icontains("' + filterArgument + '")').show();
}
}
</script>
</div>
答案 0 :(得分:1)
我没有任何版本的IE测试,但请告诉我这是否表现更好:
<script type="text/javascript">
$(function() {
var $filterArgument = $("#filterargument");
$('#filterargument').keyup( function() { performFilter(); });
$('#filterbutton').click( function() { performFilter(); });
function performFilter() {
var searchFor = $filterArgument.val();
$('.filterbaar').each( function() {
var text = $(this).text();
regex = new RegExp(filterArgument,"gi");
if ( text.match(regex) ) {
$(this).show();
} else {
$(this).hide();
}
});
}
});
</script>
答案 1 :(得分:0)
简单地说:IE JavaScript的性能相当差。它在IE9中有所改进,但仍然比你提到的浏览器慢得多。 http://ejohn.org/blog/javascript-performance-rundown/
也就是说,您可以对JavaScript进行一些改进以帮助IE出来:http://blogs.msdn.com/b/ie/archive/2006/08/28/728654.aspx