Size: a a a

2019 December 04

MK

Mikhail Kobzarev in AnyComment
источник

V

Varhal in AnyComment
Привет. Я в чатике спрашивал как открывать попап для незалогиненых пользователей по клику на кнопку отправки комментариев. Мне кинули код:

$('.anycomment-send-comment-body__btn').on('click', function(e) {
 console.log(e);
               let isGuest = window.anyCommentApiSettings.user || true;
 // open pop-up
});


Вот код открытия попапа по клику:

$('.js-open-modal').click(function(event) {
              event.preventDefault();
             
              var modalName = $(this).attr('data-modal');
              var modal = $('.js-modal[data-modal="' + modalName + '"]');
             
              modal.addClass('is-show');
              $('.js-modal-overlay').addClass('is-show')
           });

           $('.js-modal-close').click(function() {
              $(this).parent('.js-modal').removeClass('is-show');
              $('.js-modal-overlay').removeClass('is-show');
           });
             
           $('.js-modal-overlay').click(function() {
              $('.js-modal.is-show').removeClass('is-show');
              $(this).removeClass('is-show');
           });

Пока не вышло совместить, чтобы норм заработало. Кто-то может помочь? Спасибо
источник

AT

Alexander Teshabaev in AnyComment
@mihdan кинь плиз код по загрузке при появлении элемента сюда
источник

MK

Mikhail Kobzarev in AnyComment
/**
* Ждем пока в DOM появится элемент с указанным селектором
* и вызовем колбек в момент появления.
*
* @param selector
* @param callback
*/
function waitForEl( selector, callback ) {
 var poller = setInterval(
   function() {
     var $obj = jQuery( selector );

     if ( ! $obj.size() ) {
       return;
     }

     clearInterval( poller );
     callback( $obj )
   },
   200
 );
}

/**
* Включаем подсветку синтаксиса после загрузки комментариев.
*/
waitForEl(
 '#anycomment-load-container',
 function ( $obj ) {
   SyntaxHighlighter.highlight();
 }
);
источник

AT

Alexander Teshabaev in AnyComment
Varhal
Привет. Я в чатике спрашивал как открывать попап для незалогиненых пользователей по клику на кнопку отправки комментариев. Мне кинули код:

$('.anycomment-send-comment-body__btn').on('click', function(e) {
 console.log(e);
               let isGuest = window.anyCommentApiSettings.user || true;
 // open pop-up
});


Вот код открытия попапа по клику:

$('.js-open-modal').click(function(event) {
              event.preventDefault();
             
              var modalName = $(this).attr('data-modal');
              var modal = $('.js-modal[data-modal="' + modalName + '"]');
             
              modal.addClass('is-show');
              $('.js-modal-overlay').addClass('is-show')
           });

           $('.js-modal-close').click(function() {
              $(this).parent('.js-modal').removeClass('is-show');
              $('.js-modal-overlay').removeClass('is-show');
           });
             
           $('.js-modal-overlay').click(function() {
              $('.js-modal.is-show').removeClass('is-show');
              $(this).removeClass('is-show');
           });

Пока не вышло совместить, чтобы норм заработало. Кто-то может помочь? Спасибо
источник

AT

Alexander Teshabaev in AnyComment
Mikhail Kobzarev
/**
* Ждем пока в DOM появится элемент с указанным селектором
* и вызовем колбек в момент появления.
*
* @param selector
* @param callback
*/
function waitForEl( selector, callback ) {
 var poller = setInterval(
   function() {
     var $obj = jQuery( selector );

     if ( ! $obj.size() ) {
       return;
     }

     clearInterval( poller );
     callback( $obj )
   },
   200
 );
}

/**
* Включаем подсветку синтаксиса после загрузки комментариев.
*/
waitForEl(
 '#anycomment-load-container',
 function ( $obj ) {
   SyntaxHighlighter.highlight();
 }
);
спасибо
источник

V

Varhal in AnyComment
попробую сейчас, спасибо
источник

MK

Mikhail Kobzarev in AnyComment
совместил приятное с полезным)
источник

AT

Alexander Teshabaev in AnyComment
Mikhail Kobzarev
совместил приятное с полезным)
да) тебе спасибо за снипет)
источник

MK

Mikhail Kobzarev in AnyComment
руки до блога дошли, немного подделываю мелочи
источник

V

Varhal in AnyComment
Не вышлос тем кодом. Заработал вот этот код:

$('.anycomment-send-comment-body__btn').on('click', function(e) {
             console.log(e);
                           let isGuest = window.anyCommentApiSettings.user || true;
             event.preventDefault();
             var modal = $('.js-modal');
             
              modal.addClass('is-show');
              $('.js-modal-overlay').addClass('is-show')
           });

Для незалогиненых все ок, попап показывается, а вот для залогиненых не работает кнопка отправки
источник

AT

Alexander Teshabaev in AnyComment
Varhal
Не вышлос тем кодом. Заработал вот этот код:

$('.anycomment-send-comment-body__btn').on('click', function(e) {
             console.log(e);
                           let isGuest = window.anyCommentApiSettings.user || true;
             event.preventDefault();
             var modal = $('.js-modal');
             
              modal.addClass('is-show');
              $('.js-modal-overlay').addClass('is-show')
           });

Для незалогиненых все ок, попап показывается, а вот для залогиненых не работает кнопка отправки
не работает кнопка отправки или не работает код?
источник

MK

Mikhail Kobzarev in AnyComment
event.preventDefault(); же
источник

V

Varhal in AnyComment
кнопка отправки не работает когда юзер залогинен уже
источник

V

Varhal in AnyComment
Mikhail Kobzarev
event.preventDefault(); же
снести?)
источник

MK

Mikhail Kobzarev in AnyComment
if ( isGuest ) { уже тут ваш попап }
источник

V

Varhal in AnyComment
ок
источник

AT

Alexander Teshabaev in AnyComment
Varhal
снести?)
+
источник

AT

Alexander Teshabaev in AnyComment
Mikhail Kobzarev
event.preventDefault(); же
верно подметил
источник

V

Varhal in AnyComment
все ок заработало, а как отключить уведомления при клике на кнопку теперь? http://joxi.ru/v29oJZBfZ8Y6dr
источник