【发布时间】:2011-03-02 02:21:48
【问题描述】:
我在复选框上执行了一些 jQuery 的 onclick 事件。它的缓慢。在 Firefox 上需要一秒钟左右,在 safari 上需要半秒钟。
如果它不保持页面位置,我不介意。有谁知道如何阻止它在执行 JS 时阻止页面向上或向下滚动。
有什么想法吗?
太棒了
EG。
onclick="levels();"
function levels() {
var rqleveld = $(this).attr('src');
var rqleveldA = Number($(this).attr('src'))+1;
var rqleveldB = Number($(this).attr('src'))+2;
if (!this.checked) {
$('input:checkbox[title=RQlevel' + rqleveld + ']').removeAttr('checked');
$('input:checkbox[title=RQlevel' + rqleveld + ']').attr('disabled','disabled');
$('span[title=RQlevel' + rqleveld + ']').css('display','block');
$('input:checkbox[title=RQlevel' + rqleveldA + ']').removeAttr('checked');
$('input:checkbox[title=RQlevel' + rqleveldA + ']').attr('disabled','disabled');
$('span[title=RQlevel' + rqleveldA + ']').css('display','block');
$('input:checkbox[title=RQlevel' + rqleveldB + ']').removeAttr('checked');
$('input:checkbox[title=RQlevel' + rqleveldB + ']').attr('disabled','disabled');
$('span[title=RQlevel' + rqleveldB + ']').css('display','block');
}
else if (this.checked) {
$('input:checkbox[title=RQlevel' + rqleveld + ']').removeAttr('disabled','disabled');
$('span[title=RQlevel' + rqleveld + ']').css('display','none');
}
product_analysis_global();
};
$(function() {
$('input:checkbox').bind('change', levels);
});
function product_analysis_global() {
$(':checked').each(function(){
$('#product_' + this.alt).css('display','block');
$('#product_quantity_PRI_' + this.alt).val(this.value);
var quantity = $('#product_quantity_PRI_' + this.alt).val();
var price = $('#product_price_PRI_' + this.alt).val();
var duration = $('#product_duration_PRI_' + this.alt).val();
var dives = $('#product_dives_PRI_' + this.alt).val();
var hire = $('#product_hire_PRI_' + this.alt).val();
});
$(':not(:checked)').each(function(){
$('#product_' + this.alt).css('display','none');
$('#product_quantity_PRI_' + this.alt).val('0');
var quantity = $('#product_quantity_PRI_' + this.alt).val();
var price = $('#product_price_PRI_' + this.alt).val();
var duration = $('#product_duration_PRI_' + this.alt).val();
var dives = $('#product_dives_PRI_' + this.alt).val();
var hire = $('#product_hire_PRI_' + this.alt).val();
});
}
【问题讨论】:
-
可以发几个代码示例吗?
-
需要查看 click() 事件的示例代码。