1 (2012-01-27 17:25:40 отредактировано Dedush)

Тема: Спойлер в дополнительном поле DLE

Вопрос состоял в следующем: Как вставить код видео-плеера в дополнительное поле DLE, но так, чтобы код был по умолчанию под спойлером? (то есть, при начальной загрузке страницы сайта плеер не должен показываться)

Свою реализацию предложил Adios (на форуме Letitbit):

HTML:

<div class="spoil">
<div class="smallfont"><input type="button" value="Развернуть" class="input-button" onclick="if (this.parentNode.parentNode.getElementsByTagName('div')[1].getElementsByTagName('div')[0]
;.style.display != '') { this.parentNode.parentNode.getElementsByTagName('div')[1].getElementsByTagName('div')[0].sty
le.display = ''; this.innerText = ''; this.value = 'Свернуть'; } else { this.parentNode.parentNode.getElementsByTagName('div')[1].getElementsByTagName('div')[0].sty
le.display = 'none'; this.innerText = ''; this.value = 'Развернуть'; }"/>
</div>
<div class="alt2">
<div style="display: none;">

<div style="width: 500px; margin: 0 auto;">[xfgiven_online]<script language="javascript" type="text/javascript" src="http://moevideo.net/video.php?file=[xfvalue_online]&width=514&height=310&nomoney=1"></script
2;[/xfgiven_online]</div>

</div>
</div>
</div>

CSS:

alt2{ margin: 0px;  padding: 6px;  border: 1px inset;}
smallfont{margin-bottom:2px;}
spoil{margin:10px; margin-top:5px;}

Выглядеть это будет следующим образом:



http://lostpic.net/thumbs/9389868a764849866135e4ff646995a0.jpg
http://lostpic.net/thumbs/3f0757a7b48e32992bd2a315a198c0a4.jpg

Поделиться

2 (2012-01-27 13:41:36 отредактировано Dedush)

Re: Спойлер в дополнительном поле DLE

HTML код должен быть таким:

<div class="spoil">
<div class="smallfont"><input type="button" value="Развернуть" class="input-button" onclick="if (this.parentNode.parentNode.getElementsByTagName('div')[1].getElementsByTagName('div')[0].style.display != '') { this.parentNode.parentNode.getElementsByTagName('div')[1].getElementsByTagName('div')[0].style.display = ''; this.innerText = ''; this.value = 'Свернуть'; } else { this.parentNode.parentNode.getElementsByTagName('div')[1].getElementsByTagName('div')[0].style.display = 'none'; this.innerText = ''; this.value = 'Развернуть'; }"/>
</div>
<div class="alt2">
<div style="display: none;">

<div style="width: 500px; margin: 0 auto;">[xfgiven_online]<script language="javascript" type="text/javascript" src="http://moevideo.net/video.php?file=[xfvalue_online]&width=514&height=310&nomoney=1"></script>[/xfgiven_online]</d
iv>

</div>
</div>
</div>

В посте выше форум не верно отображает код

Поделиться

3

Re: Спойлер в дополнительном поле DLE

Пользователи, которые отправляют свои посты, в которых содержится тег кода, должны проверять последний на корректность после его окончательной публикации.

К сожалению, данный код движка форума выдает некорректную информацию, о чем Администрация осведомлена и делает попытки исправить ситуацию своими силами.... Отправляйте код пока в тегах "ЦИТАТЫ", но опять же, проверяйте его на корректность...

________
Внимание: Речь шла о публикации кода на DLE-Форуме.

В данный момент, начиная с мая 2012 года, Форум СофтВопрос работает на движке PunBB и публикация кода происходит корректно.

Поделиться

4

Re: Спойлер в дополнительном поле DLE

Реализация этого кода на сайте может выглядеть так:


Код в дополнительно созданном файле fullstory_so.tpl будет таким:

<div class="spoil">
<div class="smallfont"><input type="button" value="Скачать программу" class="input-button" onclick="if (this.parentNode.parentNode.getElementsByTagName('div')[1].getElementsByTagName('div')[0].style.display != '') { this.parentNode.parentNode.getElementsByTagName('div')[1].getElementsByTagName('div')[0].style.display = ''; this.innerText = ''; this.value = 'Свернуть'; } else { this.parentNode.parentNode.getElementsByTagName('div')[1].getElementsByTagName('div')[0].style.display = 'none'; this.innerText = ''; this.value = 'Скачать программу'; }"/>
</div>
<div class="alt2">
<div style="display: none;">

<div style="width: 720px; margin: 0 auto;">

<br />
<noindex>
<TABLE CELLPADDING=3 CELLSPACING=3>
        <TR><TH WIDTH="27%">Версия:</TH>
                <TD WIDTH="35%">[xfgiven_versoft][xfvalue_versoft][/xfgiven_versoft]</TD><TD ROWSPAN=9 WIDTH="38%" ALIGN=center>[xfgiven_scr][xfvalue_scr][/xfgiven_scr]</TD></TR>
        <TR><TH>Лицензия:</TH>
                <TD>[xfgiven_sec][xfvalue_sec][/xfgiven_sec]</TD></TR>
        <TR><TH>Операционная Система:</TH>
                <TD>[xfgiven_os][xfvalue_os][/xfgiven_os]</TD></TR>
        <TR><TH>Язык интерфейса:</TH>
                <TD>[xfgiven_lang][xfvalue_lang][/xfgiven_lang]</TD></TR>
        <TR><TH>Разработчик (сайт):</TH>
                <TD>[xfgiven_site]<a rel="nofollow" href="http://[xfvalue_site]" target="_blank">[xfvalue_site]</a>[/xfgiven_site]</TD></TR>
        <TR><TH>Размер:</TH>
                <TD>[xfgiven_size][xfvalue_size][/xfgiven_size]</TD></TR>
        <TR><TH>Скачать:</TH>
                <TD>[xfgiven_down]<a rel="nofollow" href="[xfvalue_down]" target="_blank">download</a>[/xfgiven_down]</TD></TR>
        <TR><TH>Скачать (Зеркало):</TH>
                <TD>[xfgiven_down_m]<a rel="nofollow" href="[xfvalue_down_m]" target="_blank"><img src="http://softvopros.ru/templates/zeosoriginal/images/softvopros_88x31.jpg" alt="{title}"></a>[/xfgiven_down_m]</TD></TR>
        <TR><TH>Последнее обновление:</TH>
                <TD>[xfgiven_data][xfvalue_data][/xfgiven_data]</TD></TR>
        <TR><TH>Видеоролик:</TH>
                <TD>[xfgiven_clip]<a rel="nofollow" href="[xfvalue_clip]" target="_blank"><img src="http://softvopros.ru/templates/zeosoriginal/images/softvopros_88x31_clip.jpg" alt="{title}"></a>[/xfgiven_clip]</TD></TR>                
</TABLE>
</noindex>


</div>

</div>
</div>
</div>

Поделиться

5

Re: Спойлер в дополнительном поле DLE

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

Поделиться

6 (2012-07-13 07:13:37 отредактировано Aleksey)

Re: Спойлер в дополнительном поле DLE

Я у себя делал так. Совсем простой спойлер, правда надо подключать jQuery если уже не подключена.

Подключаем jQuery (обычно между тегами <head></head>, но можно и в любом другом подходящем для этого месте. Главное, чтобы эта библиотека подключалась перед вызовом ее функций)

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js" type="text/javascript"></script>
<script type="text/javascript">
    jQuery(document).ready(function(){
        // Скрываем все спойлеры на странице
        jQuery('.spoiler-body').hide()
        // по клику мыши отключаем класс folded, включаем unfolded, затем
        // для следующего элемента после блока .spoiler-head (т.е. .spoiler-body)
        // показываем текст спойлера
        jQuery('.spoiler-head').click(function(){
        // При клике на любом спойлере скрываем все открытые спойлеры
        jQuery('.spoiler-body').hide();
            jQuery(this).toggleClass("folded").toggleClass("unfolded").next().toggle()
        })
    })
</script>

Следующий код спойлера помещаем туда, где он должен выводится на нашей странице.

<div class="spoiler-wrap">
    <div class="spoiler-head folded"><a href="javascript:void(0)">Текст заголовка спойлера</a></div>
    <div class="spoiler-body">
        Здесь размещаем текст, который скрыт под спойлером
    </div>
</div>


Чтобы текст, который скрыт под спойлером открывался плавно нужно вместо toggle() прописать slideToggle.

Поделиться