Javascript-форум (https://javascript.ru/forum/)
-   Events/DOM/Window (https://javascript.ru/forum/events/)
-   -   Печать скрытого блока (https://javascript.ru/forum/events/65360-pechat-skrytogo-bloka.html)

Виталюкас 14.10.2016 12:32

Печать скрытого блока
 
Доброго времени суток!
Подскажите как запустить на печать изначально скрытых блоков (Раскрываются по нажатию на текст)
структура такая
<h3 class='open_close'>заголовок 1</h3>
<div class='block_links'>
	текст текст текст			
</div>
<h3 class='open_close'>заголовок 2</h3>
<div class='block_links'>
	текст текст текст			
</div>
<!-- и т.д. -->

открытие закрытие (изночально на странице видны только заголовки)
$(function() {
  var ocn = $('.open_close').show(),
    bln = $('.block_links').hide();
  var flag = 0;
  ocn.click(function(e) {
    e.preventDefault();
    ocn.not(this).next().slideUp();
    $(this).next().slideToggle();
  });
});


как мне по нажатию на ссылку распечатать содержимое всех блоков как скрытых так и открытого (если он открыт, а если нет то всех скрытых)

ksa 14.10.2016 13:15

Цитата:

Сообщение от Виталюкас
как мне по нажатию на ссылку распечатать содержимое всех блоков как скрытых так и открытого

Используй правило @media...
http://htmlbook.ru/css/media

Виталюкас 14.10.2016 13:35

Цитата:

Сообщение от ksa (Сообщение 431702)
Используй правило @media...
http://htmlbook.ru/css/media

как раскрыть при помощи CSS скрытый блок (скрыт JS):blink:

ksa 14.10.2016 14:24

Цитата:

Сообщение от Виталюкас
как раскрыть при помощи CSS скрытый блок (скрыт JS)

Если у элемента "скрытие" прямо указано в атрибуте или в соответствующем в свойстве - ЦСС тебе не поможет. :no:
У него приоритет ниже...

Но ты можешь скрывать элементы указывая им некий класс - тогда ЦСС опять в деле!
Т.ч. переписывай свой скрипт. Меняй show() и hide() на removeClass() и addClass(). ;)

Виталюкас 14.10.2016 14:43

Цитата:

Сообщение от ksa (Сообщение 431710)
Если у элемента "скрытие" прямо указано в атрибуте или в соответствующем в свойстве - ЦСС тебе не поможет. :no:
У него приоритет ниже...

Но ты можешь скрывать элементы указывая им некий класс - тогда ЦСС опять в деле!
Т.ч. переписывай свой скрипт. Меняй show() и hide() на removeClass() и addClass(). ;)

Реализовал по другому:
$(document).ready(function() {
    $('#print_all').click(function(event) {
        $("div[class^='block_links']").show('normal', function(){
            window.print(); 
        });
   });
});

Нажимаем на кнопочку -> раскрываем блоки -> печатаем :dance:


Часовой пояс GMT +3, время: 20:49.