2014-09-18 3 views
1

Рефакторинг предупреждения в модальное всплывающее окно с использованием magnificPopup. Не уверен, что я правильно назову magnificPopup. Это правильный синтаксис? Спасибо за любую помощь!Преобразование предупреждения в magnificPopup modal

Код:

<script> 
    $(document).ready(function() { 
     $('.readMore').each(function() { 
      if (isDivClipped(this)) { 
       $(this).wrap("<div class='readmorewrapper'></div>"); 
       $(this).after("<a href='#' onclick='showReadMore(this);'>Read More...</a>"); 
      } 
     }); 


    }); 
    function showReadMore(el) { 
     var modalContent = ($(el).closest('.readmorewrapper').find('.readMore').text()); 
     $('modalContent').magnificPopup; 
    } 
    function isDivClipped(el) { 
     return true; 
    } 
</script> 
+0

Почему 'isDivClipped()' 'всегда возвращает true'? –

+0

Я думаю, что проблема заключается в 'onclick = 'showReadMore (this)'. В этом случае 'this' больше не относится к элементу' .readMore'. –

+1

Я вижу две ошибки в коде, - .magnificPopup - это функция, которую нужно вызвать так: .magnificPopup(); - Вы сохраняете текст в var modalContent, а затем пытаетесь использовать этот текст в качестве селектора для $() ... Я думаю, что это ошибка. –

ответ

1

Вся соответствующая документация: http://dimsemenov.com/plugins/magnific-popup/

Рабочий пример:

<a class="popup-modal" href="#test-modal">Open modal</a> 

<div id="test-modal" class="mfp-hide white-popup-block"> 
    <h1>Modal dialog</h1> 
    <p>Some block of text here</p> 
    <p><a class="popup-modal-dismiss" href="#">Dismiss</a></p> 
</div> 


$(function() { 
    $('.popup-modal').magnificPopup({ 
     type: 'inline', 
     modal: true 
    }); 
    $(document).on('click', '.popup-modal-dismiss', function (e) { 
     e.preventDefault(); 
     $.magnificPopup.close(); 
    }); 
}); 
Смежные вопросы