Вкладки на javascript в которых диалоги. Спасибо. Готово.

toongoos

Новичок
Добрый день. Вечер. В общем так. В сети нашел скрипт, попытался его вставить в код. Впринципе получилось. Но. в окне вкладки не получается вывести сам диалог. Подскажите, как выводить информации во вкладке не через "title". Можно ли как то дополнить код.

Код:
<script type="text/javascript">
        $(document).ready(function() {
            $("#messagelist a").click(function() {
                addTab($(this));
            });

            $('#tabs a.tab').live('click', function() {
                // Get the tab name
                var contentname = $(this).attr("id") + "_content";

                // hide all other tabs
                $("#content ul").hide();
                $("#tabs li").removeClass("current");

                // show current tab
                $("#" + contentname).show();
                $(this).parent().addClass("current");
            });

            $('#tabs a.remove').live('click', function() {
                // Get the tab name
                var tabid = $(this).parent().find(".tab").attr("id");

                // remove tab and related content
                var contentname = tabid + "_content";
                $("#" + contentname).remove();
                $(this).parent().remove();

                // if there is no current tab and if there are still tabs left, show the first one
                if ($("#tabs li.current").length == 0 && $("#tabs li").length > 0) {

                    // find the first tab
                    var firsttab = $("#tabs li:first-child");
                    firsttab.addClass("current");

                    // get its link name and show related content
                    var firsttabid = $(firsttab).find("a.tab").attr("id");
                    $("#" + firsttabid + "_content").show();
                }
            });
        });
        function addTab(link) {
            // If tab already exist in the list, return
            if ($("#" + $(link).attr("rel")).length != 0)
                return;
       
            // hide other tabs
            $("#tabs li").removeClass("current");
            $("#content ul").hide();
       
            // add new tab and related content
            $("#tabs").append("<li class='current'><a class='tab' id='" +
                $(link).attr("rel") + "' href='#'>" +"<div id='tabOn'>" + $(link).attr("rel") +
                "</div>"+"</a><a href='#' class='remove'><div id='tabOff'>x</div></a></li>");

            $("#content").append("<ul id='" + $(link).attr("rel") + "_content'>" +
                $(link).attr("title") + "</ul>");
       
            // set the newly added tab as current
            $("#" + $(link).attr("rel") + "_content").show();
        }
           </script>
 
Последнее редактирование:

toongoos

Новичок
это страница на которую вывод
Для начала этот код явно устаревший, т.к. http://www.jqapi.com/#p=live
Потом если нет понимания, что это, стоит попробовать что-то менее гавнокодистое. К примеру http://jqueryui.com/tabs/#manipulation
Впринципе я его примостил на страницу. Он вроде как работает. Но. В общем у меня на странице список пользователей из бд. При клике на одного должны выскакивать его сообщения в табе с его именем. Но когда мышью навожу на него- всплывает это окно с title c подсказкой размером с полэкрана (у меня там в title $include). А так таб открывается с именем. но в этом табе не получается вывести сообщения. Помучался я и решил все же спросить здесь. Спасибо за наводку. Буду ковырять.
 

toongoos

Новичок
Для начала этот код явно устаревший, т.к. http://www.jqapi.com/#p=live
Потом если нет понимания, что это, стоит попробовать что-то менее гавнокодистое. К примеру http://jqueryui.com/tabs/#manipulation
Вот динамические табы которые я выудил. Вся страница с которой я брал исходники для себя. Содержимое выводится через title в ссылке здесь. Это плохо.
HTML:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
    <title>Dynamic tabs with jQuery - why and how to create them | JankoAtWarpSpeed Demos</title>
    <style type="text/css">
        body { font-family:Lucida Sans, Lucida Sans Unicode, Arial, Sans-Serif; font-size:13px; margin:0px auto;}
        #tabs { margin:0; padding:0; list-style:none; overflow:hidden; }
        #tabs li { float:left; display:block; padding:5px; background-color:#bbb; margin-right:5px;}
        #tabs li a { color:#fff; text-decoration:none; }
        #tabs li.current { background-color:#e1e1e1;}
        #tabs li.current a { color:#000; text-decoration:none; }
        #tabs li a.remove { color:#f00; margin-left:10px;}
        #content { background-color:#e1e1e1;}
        #content p { margin: 0; padding:20px 20px 100px 20px;}
    
        #main { width:900px; margin:0px auto; overflow:hidden;background-color:#F6F6F6; margin-top:20px;
            -moz-border-radius:10px;  -webkit-border-radius:10px; padding:30px;}
        #wrapper, #doclist { float:left; margin:0 20px 0 0;}
        #doclist { width:150px; border-right:solid 1px #dcdcdc;}
        #doclist ul { margin:0; list-style:none;}
        #doclist li { margin:10px 0; padding:0;}
        #documents { margin:0; padding:0;}
    
        #wrapper { width:700px; margin-top:20px;}
        
        #header{ background-color:#F6F6F6; width:900px; margin:0px auto; margin-top:20px;
            -moz-border-radius:10px;  -webkit-border-radius:10px; padding:30px; position:relative;}
        #header h2 {font-size:16px; font-weight:normal; margin:0px; padding:0px;}

    </style>

    <script type="text/javascript" src="jquery-1.4.min.js" ></script>
    <script type="text/javascript">
        $(document).ready(function() {
            $("#documents a").click(function() {
                addTab($(this));
            });

            $('#tabs a.tab').live('click', function() {
                // Get the tab name
                var contentname = $(this).attr("id") + "_content";

                // hide all other tabs
                $("#content p").hide();
                $("#tabs li").removeClass("current");

                // show current tab
                $("#" + contentname).show();
                $(this).parent().addClass("current");
            });

            $('#tabs a.remove').live('click', function() {
                // Get the tab name
                var tabid = $(this).parent().find(".tab").attr("id");

                // remove tab and related content
                var contentname = tabid + "_content";
                $("#" + contentname).remove();
                $(this).parent().remove();

                // if there is no current tab and if there are still tabs left, show the first one
                if ($("#tabs li.current").length == 0 && $("#tabs li").length > 0) {

                    // find the first tab
                    var firsttab = $("#tabs li:first-child");
                    firsttab.addClass("current");

                    // get its link name and show related content
                    var firsttabid = $(firsttab).find("a.tab").attr("id");
                    $("#" + firsttabid + "_content").show();
                }
            });
        });
        function addTab(link) {
            // If tab already exist in the list, return
            if ($("#" + $(link).attr("rel")).length != 0)
                return;
        
            // hide other tabs
            $("#tabs li").removeClass("current");
            $("#content p").hide();
        
            // add new tab and related content
            $("#tabs").append("<li class='current'><a class='tab' id='" +
                $(link).attr("rel") + "' href='#'>" + $(link).attr("rel") +
                "</a><a href='#' class='remove'>x</a></li>");

            $("#content").append("<p id='" + $(link).attr("rel") + "_content'>" +
                $(link).attr("title") + "</p>");
        
            // set the newly added tab as current
            $("#" + $(link).attr("rel") + "_content").show();
        }
    </script>
</head>
<body>

    <div id="header">
        <img src="logo.jpg" alt="JankoAtWarpSpeed demos" /><br />
        <h2><span lang="ru"><strong>ДЕМО урока (нажмите на ссылки ниже)</strong></span></h2>
        <img src="help.png" alt="Click on lnks to open 'documents' in tabs" style="position:absolute;left:-170px; top:200px;" />
    </div>
    <div id="main">

        <h2>Documents</h2>

        <ul id="documents">
            <li><a href="#" rel="Я" title="This is the content of Document1">Document1</a></li>
            <li><a href="#" rel="поменял" title="This is the content of Document2">Document2</a></li>
            <li><a href="#" rel="одну" title="This is the content of Document3">Document3</a></li>
            <li><a href="#" rel="строку" title="This is the content of Document4">Document4</a></li>
            <li><a href="#" rel="в_коде" title="This is the content of Document5">Document5</a></li>

        </ul>

    <div id="wrapper">
        <ul id="tabs">
            <!-- Tabs go here -->
        </ul>
        <div id="content">
            <!-- Tab content goes here -->
        </div>

    </div>

    <a onclick="toggle(hidden_content)">Ссылочка</a>
<div id="hidden_content" style="display: none;">Вот он я</div>
<script>
function toggle(el) {
el.style.display = (el.style.display == 'none') ? '' : 'none'
}
</script>

    </div>
</body>
</html>
Красным выделил ту часть что мне спать не дает.
$("#content").append("<p id='" + $(link).attr("rel") + "_content'>" +
$(link).attr("title") + "</p>");

и вот в ссылке где вставляется содержание
<li><a href="#" rel="Я" title="This is the content of Document1">Document1</a></li>
 
Последнее редактирование:

toongoos

Новичок
Для начала этот код явно устаревший, т.к. http://www.jqapi.com/#p=live
Потом если нет понимания, что это, стоит попробовать что-то менее гавнокодистое. К примеру http://jqueryui.com/tabs/#manipulation
впринципе нашел по той ссылке сегодня на отдохнувшую голову то что нужно. . Да . Вы правы. Код там намного лучше. Да и есть из чего выбрать. Например вот это мне подходит.http://jqueryui.com/tabs/#vertical Немного поковыряюсь и уверен что с бд будет отменно работать. Спасибо огромное..
 

toongoos

Новичок
впринципе нашел по той ссылке сегодня на отдохнувшую голову то что нужно. . Да . Вы правы. Код там намного лучше. Да и есть из чего выбрать. Например вот это мне подходит.http://jqueryui.com/tabs/#vertical Немного поковыряюсь и уверен что с бд будет отменно работать. Спасибо огромное..
Чувак спасибо. Только что подключил то что нашед по твоей ссылке- вертикальные табы + ajax. теперь у меня выводится список пользователей нажимаю на одного- форма отправки сообщения и переписка с ним. Стало напоминать как в одноклассниках примерно. Благодарен. Код того как впихнул это в работу с бд выложу чуть позже.. Если надо кому то это..
 
Сверху