Как избежать много условий javascript ?

Например
$("body").mousemove(function () {
		if($("#franshuza-car-1").css("visibility") == "visible") {
			if(parseInt($("#slider div").css("width")) == 91) {
				$("#clean-money-after").text("17 850");
			}
			else if(parseInt($("#slider div").css("width")) == 183) {
				$("#clean-money-after").text("35 700");
			}
			else if(parseInt($("#slider div").css("width")) == 274) {
				$("#clean-money-after").text("53 550");
			}
			else if(parseInt($("#slider div").css("width")) == 366) {
				$("#clean-money-after").text("71 400");
			}
			else if(parseInt($("#slider div").css("width")) == 457) {
				$("#clean-money-after").text("89 250");
			}
			else if(parseInt($("#slider div").css("width")) == 549) {
				$("#clean-money-after").text("107 100");
			}
			else if(parseInt($("#slider div").css("width")) == 640) {
				$("#clean-money-after").text("124 450");
			}
		............
  • Вопрос задан
  • 2627 просмотров
Решения вопроса 1
morozovdenis
@morozovdenis
var dict = {
	91 : "17 850",
	183 : "35 700"
};
$("body").mousemove(function () {
	if($("#franshuza-car-1").css("visibility") == "visible")
	{
		var key = parseInt($("#slider div").css("width"));
		$("#clean-money-after").text(dict[key]);
	}
});
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
Совет от @morozovdenis действительно хорош, и был бы click event я бы вкладку закрыл, но в `mousemove` не стоит использовать обилие jquery, после рефакторинга:
var dict = {
    91 : '17 850',
    183 : '35 700'
};

var car$    = $('#franshuza-car-1').get(0),
    after$  = $('#clean-money-after').get(0),
    slider$ = $('#slider div').get(0);
    
$('body').mousemove(function () {
    if (car$.style.visibility === 'hidden')
        return;
    
    after$.textContent = dict[ slider$.offsetWidth ] || '';
});
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы