Проблема с моей загрузкой Jquery в моих представлениях Codeigniter - PullRequest
0 голосов
/ 29 ноября 2009

Я работаю над одностраничным веб-сайтом, который позволяет пользователям добавлять и удалять страницы из навигации там и тогда, когда они этого тоже хотят, поэтому работает так, что если нажать кнопку «Блог» на главной панели навигации «Блог» 'раздел должен появиться на странице, если они затем нажимают' Новости ', раздел' Новости 'также должен быть видимым, однако, как я начал реализовывать это, кажется, что я могу иметь только один раздел за раз, может ли мой код быть для разрешения отображения нескольких разделов на главной странице.

Вот мой код для страницы, на которой есть главное меню и выбор пользователей на ней.

 <!DOCTYPE html>
<head>
    <title>Development Site</title>
    <link rel="stylesheet" href="/media/css/reset.css" media="screen"/>
    <link rel="stylesheet" href="/media/css/generic.css" media="screen"/>
    <script type="text/javascript" src="/media/javascript/jquery-ui/js/jquery.js"></script>
    <script type="text/javascript" src="/media/javascript/jquery-ui/development-bundle/ui/ui.core.js"></script>
    <script type="text/javascript" src="/media/javascript/jquery-ui/development-bundle/ui/ui.accordion.js"></script>
    <script type="text/javascript">
    $(document).ready(function() {
            $('a.menuitem').click(function() {
                var link = $(this), url = link.attr("href");
                    $("#content_pane").load(url);
                    return false; // prevent default link-behavior
            });
     });
       </script>
    </head>
    <body>
        <li><a class="menuitem" href="inspiration">Inspiration</a></li>
        <li><a class="menuitem" href="blog">Blog</a></li>
        <div id="content_pane">

        </div>
    </body>
    </html>

Ответы [ 2 ]

0 голосов
/ 19 декабря 2011

Опираясь на то, что поставил Майк .. сделайте это:

$('a.menuitem').click(function(e) { 
                    var link = $(this), url = link.attr("href"); 
                        var $newDiv = '<div></div>'; 
                        $("#content_pane").append($newDiv); 
                        $newDiv.load(url); 
                        e.preventDefault; // prevent default link-behavior 
            }); 

e.preventDefault (); остановит действие по умолчанию Тогда не стоит переходить по ссылке. Return False обычно используется в функции .submit (). Вам понадобится .preventDefault для .click ().

0 голосов
/ 29 ноября 2009

Вы должны попробовать что-то вроде этого

$('a.menuitem').click(function() {
                    var link = $(this), url = link.attr("href");
                        var $newDiv = '<div></div>';
                        $("#content_pane").append($newDiv);
                        $newDiv.load(url);
                        return false; // prevent default link-behavior
            });

Я не проверял это, но оно должно работать. Если вы можете сообщить ваш результат.

В качестве альтернативы вы можете создать переменную, которая будет хранить загруженный контент, обернуть его в элемент div и добавить созданный элемент в # content_pane

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...