Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- var SubscribeModule = {
- $subscribeBlock: $('.js-post-subscribe'),
- $subscribeCancelBtn: $('.js-post-subscribe-cancel'),
- $document: $(document),
- $subscribeShowStatus: true,
- $subscribeEmailInput: $('#subscribeEmailInput'),
- $subscribeNameInput: $('#subscribeNameInput'),
- $subscribeButton:$('.js-post-subscribe-btn'),
- url: '//hipo.lcl/blog/subscribe',
- init: function () {
- SubscribeModule.bindUiActions();
- },
- bindUiActions: function () {
- SubscribeModule.$document.on('scroll', SubscribeModule.initSubscribeBlock);
- SubscribeModule.$subscribeCancelBtn.on('click', SubscribeModule.subscribeBlockHide);
- SubscribeModule.$subscribeBlock.on('submit', SubscribeModule.sendForm);
- },
- initSubscribeBlock: function () {
- if (SubscribeModule.$subscribeShowStatus) {
- SubscribeModule.$subscribeButton.text('Подписаться');
- var y = $(SubscribeModule.$document).scrollTop();
- var t = SubscribeModule.$subscribeBlock.parent().offset().top;
- $(SubscribeModule.$subscribeBlock).each(function () {
- if (y >= t) {
- SubscribeModule.$subscribeBlock.addClass('_show');
- }
- });
- }
- },
- subscribeBlockHide: function () {
- SubscribeModule.$subscribeBlock.removeClass('_show');
- SubscribeModule.$subscribeShowStatus = false;
- },
- sendForm: function (e) {
- e.preventDefault();
- SubscribeModule.$subscribeButton.text('Подписка...');
- var emailValue = SubscribeModule.$subscribeEmailInput.val();
- var nameValue = SubscribeModule.$subscribeNameInput.val();
- var subscribe = $.post(SubscribeModule.url, {
- first_name: nameValue,
- email: emailValue
- });
- subscribe.success(function (data) {
- SubscribeModule.$subscribeButton.text('Вы подписаны :)');
- setTimeout(function () {
- SubscribeModule.subscribeBlockHide();
- }, 1500);
- });
- subscribe.error(function (err) {
- console.log(err);
- SubscribeModule.$subscribeButton.text('Ошибка сервера :(');
- SubscribeModule.subscribeBlockHide();
- });
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement