2013-05-02 2 views
0

Я использую простой jquery, чтобы показать кнопку «Показать корзину», если что-то добавлено в корзину.Добавить ajax в простую функцию jquery

if ($('.cartSummaryItem').text() != 'Shopping cart is empty.') { 
    $('.account').fadeIn(1000) 
}; 

Если корзина пуста это показать это текст «Корзина пуста.», Если что-то добавляется .account будет FadeIn. Проблема в том, что мне нужно обновить страницу для этого, чтобы работать, есть ли способ сделать это, не обновляя страницу с помощью ajax или подобного?

Благодаря Nik

ответ

1

Если событие изменения не работает. Другой метод - использование интервала.

<script type='text/javascript'> 
    $(document).ready(function() 
    { 
     setInterval(function() { 
      if ($('.cartSummaryItem').text() != 'Shopping cart is empty.') { 
       $('.account').fadeIn(1000) 
      }; 
     }, 10000); 
    }); 
</script> 

Конечно, интервал должен быть изменен на желаемую сумму. Я бы использовал это только в том случае, если изменение не сработало. Событие изменения предпочтительнее.

+0

Это работает, почему это не самый предпочтительный способ. Использует ли setInterval больше CPU или что-то подобное? – Nik

+0

Интервал просто проверяет что-то каждые несколько секунд, минут или любые желаемые милисекунды, которые вы решили использовать. Это означает, что он будет продолжать стрельбу, событие изменения будет срабатывать только тогда, когда что-то изменилось. В небольших количествах интервалов это не имело бы значения. Но большая сумма может вызвать проблемы с производительностью, конечно, вам понадобятся интервалы ALOT для этого. Событие изменения лучше, чем 100-100 интервалов на вашем сайте:] – larssy1

+0

Я посмотрел документацию jQuery и ... »Это событие (.change) ограничено элементами,