Advertisement
Guest User

Untitled

a guest
Feb 24th, 2017
123
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. var SubscribeModule = {
  2.   $subscribeBlock: $('.js-post-subscribe'),
  3.   $subscribeCancelBtn: $('.js-post-subscribe-cancel'),
  4.   $document: $(document),
  5.   $subscribeShowStatus: true,
  6.   $subscribeEmailInput: $('#subscribeEmailInput'),
  7.   $subscribeNameInput: $('#subscribeNameInput'),
  8.   $subscribeButton:$('.js-post-subscribe-btn'),
  9.   url: '//hipo.lcl/blog/subscribe',
  10.  
  11.  
  12.   init: function () {
  13.     SubscribeModule.bindUiActions();
  14.   },
  15.  
  16.   bindUiActions: function () {
  17.     SubscribeModule.$document.on('scroll', SubscribeModule.initSubscribeBlock);
  18.     SubscribeModule.$subscribeCancelBtn.on('click', SubscribeModule.subscribeBlockHide);
  19.     SubscribeModule.$subscribeBlock.on('submit', SubscribeModule.sendForm);
  20.   },
  21.  
  22.   initSubscribeBlock: function () {
  23.     if (SubscribeModule.$subscribeShowStatus) {
  24.       SubscribeModule.$subscribeButton.text('Подписаться');
  25.       var y = $(SubscribeModule.$document).scrollTop();
  26.       var t = SubscribeModule.$subscribeBlock.parent().offset().top;
  27.       $(SubscribeModule.$subscribeBlock).each(function () {
  28.         if (y >= t) {
  29.           SubscribeModule.$subscribeBlock.addClass('_show');
  30.         }
  31.       });
  32.     }
  33.   },
  34.  
  35.   subscribeBlockHide: function () {
  36.     SubscribeModule.$subscribeBlock.removeClass('_show');
  37.     SubscribeModule.$subscribeShowStatus = false;
  38.   },
  39.  
  40.   sendForm: function (e) {
  41.     e.preventDefault();
  42.     SubscribeModule.$subscribeButton.text('Подписка...');
  43.     var emailValue = SubscribeModule.$subscribeEmailInput.val();
  44.     var nameValue = SubscribeModule.$subscribeNameInput.val();
  45.     var subscribe = $.post(SubscribeModule.url, {
  46.       first_name: nameValue,
  47.       email: emailValue
  48.     });
  49.     subscribe.success(function (data) {
  50.       SubscribeModule.$subscribeButton.text('Вы подписаны :)');
  51.       setTimeout(function () {
  52.         SubscribeModule.subscribeBlockHide();
  53.       }, 1500);
  54.     });
  55.     subscribe.error(function (err) {
  56.       console.log(err);
  57.       SubscribeModule.$subscribeButton.text('Ошибка сервера :(');
  58.       SubscribeModule.subscribeBlockHide();
  59.     });
  60.   }
  61. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement