1. Мы продолжаем публиковать интересные статьи на тему SocialEngine 4. Одна из статей посвящена правильному выбору сервера для вашей социальной сети, а другая содержит советы по увеличению производительности платформы. Также мы добавили большую статью о пользовательских уровнях. Ознакомиться со статьями вы можете в разделе Вопросы и Ответы SocialEngine 4.
  2. Вам кажется, что ваша версия SocialEngine 4, работает медленно?

    Голосуйте. Пишите свою версию системы, железо на чем работает и количество пользователей. Будем увеличивать производительность :-) Подробнее

  3. В связи с участившимися случаями попыток продажи пользователями форума различных "сборок" коммерческих социальных платформ, обычно основанных на SocialEngine 3, вводится новое правило для форума. Запрещается создание тем или размещение в уже созданных предложений о продаже или размещение ссылок на сайты, где происходит продажа "сборок". Пользователи, которые продолжат свою коммерческую деятельность в данном направлении, будут заблокированы. Подробнее.

Простой спойлер

Discussion in 'Прочая Поддержка - Help Requests' started by mafiarus, Jan 8, 2011.

  1. mafiarus Thread starter User


    Offline
    • Знаменитый
    Message Count:
    305
    Likes Received:
    71
    Есть у каво нибуть спойлер текстовый
    Показать/спрятать
    ???
    Ну буду очень благодарен
  2. Red Rabbit Tough member


    Offline
    Message Count:
    898
    Likes Received:
    193
    Это в header

    <script type="text/javascript" language="javascript">
    function showhide(id) {
    var block = document.getElementById(id).style;
    if (block.display == 'none') {block.display = 'block';} else {block.display = 'none';}
    }
    </script>

    А этим блоком выводится спойлер. Редактировать нужно под себя.
    <a href="#" onClick="showhide('sample')">show\hide link</a>
    <div id="sample" style="display:none">
    Text block
    </div>
  3. mafiarus Thread starter User


    Offline
    • Знаменитый
    Message Count:
    305
    Likes Received:
    71
    Открывается и резко выкидывает на главную
  4. Red Rabbit Tough member


    Offline
    Message Count:
    898
    Likes Received:
    193
    Пойдем путем наименьшего сопротивления. Улучшенный вариант с анимацией, и на основе встроенного фреймворка.

    Это в header, рядом с другими функциями.

    <script type='text/javascript'>
    //<![CDATA[

    window.addEvent('domready', function() {

    var status = {
    'true': 'показать',
    'false': 'спрятать'
    };

    var hs_spoiler= new Fx.Slide('hs_spoiler');

    $('lnk').addEvent('click', function(event){
    event.stop();
    hs_spoiler.toggle();
    });

    myVerticalSlide.addEvent('complete', function() {
    $('hs_status').set('text', status[hs_spoiler.open]);
    });

    });


    //]]>
    </script>

    А это сама форма спойлера

    <a id="lnk" href="#"><span id="hs_status">спрятать</span></a>
    <div id="hs_spoiler">
    Текст
    </div>
  5. Gooos абырвалГ


    Offline
    • Admin
    Message Count:
    2,435
    Likes Received:
    645
    My version of SE:
    3.20
    Что-то не понятно как название ссылки должно поменяться.
    И как сделать по умолчанию спойлер закрытым, а не открытым.

    Если этот спойлер применить в профиле, например для скрытия инфы на первой вкладке, то убиваются комменты на вкладке Комментарии, короче кривое решение.
  6. Red Rabbit Tough member


    Offline
    Message Count:
    898
    Likes Received:
    193
    А никак. Пример неработоспособен. Часть текста куда-то пропала, или неверно скопировалась. Сейчас исправлю.

    Вот подкорректированный пример.

    JS

    Code:
    <script type='text/javascript'> 
      //<![CDATA[ 
      
      window.addEvent('domready', function() {
     
        var status = {
            'true': 'спрятать',
            'false': 'показать'
        };
     
        var hs_spoiler = new Fx.Slide('div_spoiler');
     
        $('v_toggle').addEvent('click', function(event){
            event.stop();
            hs_spoiler.toggle();
        });
     
        hs_spoiler.addEvent('complete', function() {
            $('spoiler_stat').set('text', status[hs_spoiler.open]);
        });
    });
    
     //]]> 
    </script>
    И html

    Code:
    <a id="v_toggle" href="#"><span id="spoiler_stat">спрятать</span></a>
    <div id="div_spoiler">текст</div>
    
    Этот пример абсолютно рабочий. Как по умолчанию сворачивать не знаю, в этом методе вроде никак, если можно - поделитесь как.
  7. sewgen User


    Offline
    Message Count:
    259
    Likes Received:
    40
    My version of SE:
    3.20
    К строке

    var hs_spoiler = new Fx.Slide('div_spoiler');

    добавьте

    var hs_spoiler = new Fx.Slide('div_spoiler').hide();

    Будет прятаццо :)
    Пробовал у себя в Статьях - работает.
  8. mafiarus Thread starter User


    Offline
    • Знаменитый
    Message Count:
    305
    Likes Received:
    71
    Мне этот сполер не помог((
    Так всё нормально работала,но мои спойлера перестали работать
    Вот я нашёл рабочий

    Это в header_global.tpl Между {literal} {/literal}
    PHP:
    <script language="JavaScript" type="text/javascript">
    <!--
    function 
    openClose(id)
    {
    var 
    obj "";

    // Check browser compatibility
    if(document.getElementById)
    obj document.getElementById(id).style;
    else if(
    document.all)
    obj document.all[id];
    else if(
    document.layers)
    obj document.layers[id];
    else
    return 
    1;

    // Do the magic 
    if(obj.display == "")
    obj.display "none";
    else if(
    obj.display != "none")
    obj.display "none";
    else
    obj.display "block";
    }
    //-->
    </script>


    PHP:

    <!--Шапка спойлера-->
    <
    div class="spoilertop" onClick="openClose('1')">
    <
    b>Рабочие моменты</b>
    </
    div>
    <!--
    Содержание спойлера-->
    <
    div class="spoilerbox" id="1" style="display:none">
    <
    br />Тут пишешь содержимое спойлера<br />
    </
    div>
    <!--
    Конец спойлера-->
  9. Gooos абырвалГ


    Offline
    • Admin
    Message Count:
    2,435
    Likes Received:
    645
    My version of SE:
    3.20
    Текст теперь меняется, комменты не убиваются.

    Как-то не уверенно, но заработало вроде. Сначала загружает страницу, а потом скрывает.
  10. Red Rabbit Tough member


    Offline
    Message Count:
    898
    Likes Received:
    193
    Это нормально, если страницы тяжелые. В данном случае не используется лишний js код, только встроенный фреймворк. Будет скрываться сразу если спойлер будет прятаться под div с display:none, но как это сделать не используя сторонних функций, как в предыдущем сообщении, не знаю. mootools docs - возможно там есть более подходящий пример.

Share This Page

All rights reserved SocEngine.ru ©