Как отобразить только часть страницы во всплывающем окне / модал с помощью Jquery? - PullRequest
1 голос
/ 03 декабря 2010

Я новичок в Jquery и использую его на сайте друпал.Я использую jqModal для отображения «всплывающих окон» или «модальных», используя ajax для загрузки другой страницы с моего сайта: скажем, что-то вроде этого:

<code>$(document).ready(function() {
      $('#dialog').jqm({ajax: '@href',modal:true, trigger: 'a.trigger'});
      $("a.trigger").click(function() {
        $('#dialog').jqmShow();
      });
    });
с таким html-кодом:
<code>
<a href="examples/examplepage.html" class="trigger">View</a>
<div class="jqmWindow" id="dialog">
  <a href="#" class="jqmClose">Close</a>
  Please wait... <img src="inc/busy.gif" alt="loading" />
</div>
Проблема в том, что некоторые части examplepage.html (я действительно не хочу изменять его, поскольку это динамическая страница, к которой можно получить доступ вспособы) не должны отображаться;например, мне не нужно меню на боковой панели и т. д. во всплывающем окне, а только основное содержимое страницы.

Кажется, как я читал в постах здесь, iframe, который, по-видимому, был решением, теперь устарел.Так возможно ли каким-то образом отображать только содержимое div или любой другой способ сказать «только эту часть страницы» во всплывающее окно / модал с помощью jqmodal?или даже другой плагин jquery?

Спасибо,

Ответы [ 3 ]

0 голосов
/ 03 декабря 2010

$. Load имеет возможность загружать только выбранный div.

$('#result').load('ajax/test.html #container');

со страницы jquery

0 голосов
/ 03 декабря 2010

Я копался в источнике для jQModal и похоже, что он просто использует jQuery .load для внутреннего использования.Поскольку вы можете добавить селектор к URL-адресу для извлечения фрагмента страницы для отображения, вы можете просто сделать это:не сможет использовать ярлык @href, потому что он, скорее всего, не сохранит добавленный селектор.Однако обойти это довольно просто.

0 голосов
/ 03 декабря 2010

Вы можете изменить пример страницы, чтобы он принимал параметр URL, который приведет к тому, что некоторые элементы не будут отображаться.

Или, если jqModal предоставляет способ указать обратный вызов для выполнения после завершения запроса AJAX, вы можете использовать javascript для удаления различных частей страницы. (Этот метод, скорее всего, приведет к тому, что пользователи медленных компьютеров / браузеров будут временно видеть эти части страницы.)

...