2013-11-08 9 views
0

Я пытаюсь написать 2 функции для одного клика, на основе ширины экрана:различные действия нажмите для различных размеров экрана

$(".view_offer_wrapper").click(function(){ 
    var current = $(".compare_wrapper div:last-child").index(this); 
    $(".product_desc_expand").hide(); 
}); 

if ($(window).width() < 480) { 
    // Different action for same click function 
} 

Первый щелчок работает отлично, никаких проблем с ним.

Но если размер окна < 480, первый клик инициируется, а не функция щелчка внутри условия if.

ответ

3

Первое решение для проверки состояния внутри обработчика щелчка

$(".view_offer_wrapper").click(function() { 
    if ($(window).width() < 480) { 
     //action 1 
    } else { 
     //action2 
     var current = $(".compare_wrapper div:last-child").index(this); 
     $(".product_desc_expand").hide(); 
    } 
}); 

Второе решение зарегистрировать разные обработчики кликов на основе состояния

if ($(window).width() < 480) { 
    $(".view_offer_wrapper").click(function() { 
     //action 1 
    }); 
} else { 
    $(".view_offer_wrapper").click(function() { 
     //action2 
     var current = $(".compare_wrapper div:last-child").index(this); 
     $(".product_desc_expand").hide(); 
    }); 
} 

Примечание: Если вы хотите поддержать изменение размера окна, тогда вы должны выбрать первое решение

+0

Спасибо! отлично работает сейчас :) – Sweetz

1

Попробуйте

$(".view_offer_wrapper").click(function(){ 
if ($(window).width() < 480) { 
    alert('width less than 480'); 
    } 
else 
{ 
    alert('width grater than 480'); 
} 
}); 

Вы можете использовать если еще внутри функции мыши.

Смежные вопросы