У меня есть несколько 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();
});
}