Нужен пример...

Discussion in 'PHP' started by z0mbyak, 5 May 2010.

  1. z0mbyak

    z0mbyak Active Member

    Joined:
    10 Apr 2010
    Messages:
    537
    Likes Received:
    200
    Reputations:
    293
    Доброго времени суток, господа форумчане...

    Мне требуется пример PHP или JS не важно, где реализована такая фишка как Спойлер, то есть нажимаешь на + и вываливается полная инфа (как на трекерах, например)

    Буду очень признателен за исходник :)

    P.S. Только начинаю знакомиться с интернет-технологиями и языками...
     
    #1 z0mbyak, 5 May 2010
    Last edited: 5 May 2010
  2. Flenat

    Flenat New Member

    Joined:
    10 Apr 2010
    Messages:
    8
    Likes Received:
    2
    Reputations:
    0
    <script type="text/javascript">
    function ShowOrHide(d1){if(d1!='')DoDiv(d1);}function ShowHide(d1){if(d1!='')DoDiv(d1);}function DoDiv(id){var item=null;if(document.getElementById){item=document.getElementById(id);}else if(document.all){item=document.all[id];}else if(document.layers){item=document.layers[id];}if(!item){}else if(item.style){if(item.style.display=="none"){item.style.display="";}else{item.style.display="none";}}else{item.visibility="show";}}
    </script>



    <a href="javascript:ShowOrHide('ID_1')">Показать / Скрыть текст ID_1</a>

    <div id="ID_1" style="display:none;">Тут текст который будет показываться (спойлер)</div>

    И так далее, сколько угодно ID
     
  3. diGriz

    diGriz Elder - Старейшина

    Joined:
    11 Oct 2006
    Messages:
    138
    Likes Received:
    82
    Reputations:
    6
    Можно еще так сделать:
    Code:
    <script type="text/javascript">
    function sh() {
        obj = document.getElementById("spoiler");
        if( obj.style.display == "none" ) { 
    		obj.style.display = "block"; 
    	} else { 
    		obj.style.display = "none"; 
    	}
    }
    </script>
    <a href="#" onclick="sh()">show/hide</a>
    <div id="spoiler" style="display:none">text</div>
    
    Ну, а лучше и проще сделать с jQuery:
    Code:
    <script src="http://code.jquery.com/jquery-latest.js"></script>
    <a href="#" id="showSpoiler">show/hide</a>
    <div id="spoiler" style="display:none">spoiler text</div>
    <script>
    $("#showSpoiler").click(function () {
    	if($("#spoiler").is(":hidden")) {
    		$("#spoiler").show("slow");
    	} else {
    		$("#spoiler").hide("slow");
    	}
    });
    </script>
    
     
    1 person likes this.
  4. z0mbyak

    z0mbyak Active Member

    Joined:
    10 Apr 2010
    Messages:
    537
    Likes Received:
    200
    Reputations:
    293
    Спасибо за внимание к моей просьбе, но
    засунуть код Flenat в Кандидат-CMS не получилось (точнее получилось, но не пашет)

    Спасибо, diGriz, все замечательно работает!

    Еще раз огромное спасибо всем откликнувшимся.
     
    #4 z0mbyak, 5 May 2010
    Last edited: 5 May 2010
  5. GreenBear

    GreenBear наркоман с медалью

    Joined:
    7 May 2005
    Messages:
    2,547
    Likes Received:
    1,398
    Reputations:
    612
    на форумах обычно подгрузка идет через ajax, да и правильная это идея я считаю, тк там они весьма объемные бывают. хотя там реализовать и это не сложно - добавить еще одну функцию в онклик, а примеров работы аякса выше крыши.
     
  6. z0mbyak

    z0mbyak Active Member

    Joined:
    10 Apr 2010
    Messages:
    537
    Likes Received:
    200
    Reputations:
    293
    Как я понял из http://ru.wikipedia.org/wiki/AJAX контент, заключенный в этом спойлере не будет виден поисковикам, а в случае с примером diGriz будет (так как это просто контейнер) или я чего-то не понял?
     
  7. Adio

    Adio Elder - Старейшина

    Joined:
    23 May 2005
    Messages:
    1,646
    Likes Received:
    148
    Reputations:
    18
    Попробуй засунуть между тегами
    <head>

    <script src="http://code.jquery.com/jquery-latest.js"></script>

    </head>

    В шапке сайта
     
  8. z0mbyak

    z0mbyak Active Member

    Joined:
    10 Apr 2010
    Messages:
    537
    Likes Received:
    200
    Reputations:
    293
    Облом с вариантом Adio так как нет возможности редактировать голову, добавлять метатеги и тд, работа идет только с боди (вот такая она суровая Кандидат CMS)
     
  9. diGriz

    diGriz Elder - Старейшина

    Joined:
    11 Oct 2006
    Messages:
    138
    Likes Received:
    82
    Reputations:
    6
    Да, если с помощью аякса будешь динамически подгружать контент в спойлер, то содержимое не будет видно ПС. Но, если ты выводишь в спойлер данные с помощью php, то все содержимое спойлера будет индексироваться.
     
    #9 diGriz, 5 May 2010
    Last edited: 5 May 2010
  10. z0mbyak

    z0mbyak Active Member

    Joined:
    10 Apr 2010
    Messages:
    537
    Likes Received:
    200
    Reputations:
    293
    блин, как все сложно.....
    А можно пример данной схемы? Просто ajax, как я посмотрел в примерах, очень симпотичен глазу...
    Хотелось бы узнать все точней...

    Спасибо...
     
  11. diGriz

    diGriz Elder - Старейшина

    Joined:
    11 Oct 2006
    Messages:
    138
    Likes Received:
    82
    Reputations:
    6
    _http://api.jquery.com/jQuery.ajax/

    Вот неплохой пример - http://2coders.ru/sistema-ocenok-na-jquery-i-php/
     
    #11 diGriz, 5 May 2010
    Last edited: 5 May 2010
  12. z0mbyak

    z0mbyak Active Member

    Joined:
    10 Apr 2010
    Messages:
    537
    Likes Received:
    200
    Reputations:
    293
    То есть, как я понял, подредактировать http://2coders.ru/sistema-ocenok-na-jquery-i-php/ под мой случай (без MySQL) можно путем замены добавления данных не в мускул а в файл (или нужен обязательно мускул?)
     
  13. diGriz

    diGriz Elder - Старейшина

    Joined:
    11 Oct 2006
    Messages:
    138
    Likes Received:
    82
    Reputations:
    6
    Что-то я не пойму чего именно ты хочешь. В том примере, просто наглядно показано как при событии onclick обработать передаваемые данные и вернуть их в див.
    Code:
    function setRate(id, operation) {
    	            $.ajax({
    	                    type: "POST",
                        url: "rates.php",
                      [B]  data: "id=" + id + "&operation=" + operation[/B],
                        success: function(html){
    	                        $("#rating" + id).html(html);
                        }
    	                });
                }
    
    В строке: data: "id=" + id + "&operation=..., передается id дива в скрипт rates.php, в нем используются полученные данные для того, чтобы получить значение из БД. Можно работать и без бд. В rates.php просто обрабатываются данные и т. д. и возвращаются в див #rating.
     
  14. z0mbyak

    z0mbyak Active Member

    Joined:
    10 Apr 2010
    Messages:
    537
    Likes Received:
    200
    Reputations:
    293
    Аааа вот теперь я начинаю понимать....
    Спасибо большое за пояснения!