JQuery Dialog и 960 Grid System - PullRequest
       23

JQuery Dialog и 960 Grid System

4 голосов
/ 27 февраля 2011

У меня есть следующий макет страницы с использованием сетки 960

----------------
      header
-----------------
     |           
     |           
 side|    main  
     |
     |
-----------------

Я хочу использовать диалоговое окно jQuery для отображения всплывающего окна, когда пользователь щелкает ссылку в боковом меню.Однако независимо от того, что я пробовал, строка заголовка диалога всегда расширяется, чтобы заполнить весь экран.Я пытался установить высоту, maxHeight и zIndex диалогового окна, но это не сработало.Все, что я хочу, это чтобы диалоговое окно отображалось в центре экрана, и это работает всякий раз, когда я не включаю 960 css, но затем я теряю свой макет.

Есть ли что-то, чего мне не хватает?

Код, который я использую для этого диалога:

var $aboutDialog = $("#aboutDialog")
    .dialog({
    autoOpen: false,
            draggable: false,
            width: 640,
            height: 'auto',
            resizable: false,
            position: 'center',
            modal: true,
            zIndex: 4,
            buttons: [
                {
                    text: "Ok",
                    click: function() { $(this).dialog("close"); }
                }
            ]

});

Мои включенные файлы выглядят следующим образом:

    <link rel="stylesheet" href="${resource(dir:'css',file:'960.css')}" />
    <link rel="stylesheet" href="${resource(dir:'css',file:'jquery-ui.css')}" />
    <g:layoutHead />
    <g:javascript library="jquery-1.5.1.min" />
    <g:javascript library="jquery-ui-1.8.10.custom.min" />

Opera отображает это правильно, но FireFox 4 и Google Chrome9 not

full html:

<html>
<head>
    <title>Index</title>
    <link rel="shortcut icon" href="/images/favicon.ico" type="image/x-icon" />
    <link rel="stylesheet" href="/css/960.css" />
    <link rel="stylesheet" href="http://ajax.googleapis.com/ajax/libs/jqueryui/1.7.1/themes/base/jquery-ui.css">


    <meta name="layout" content="main"/>

    <script type="text/javascript" src="/js/jquery-1.5.1.min.js"></script>

    <script type="text/javascript" src="/js/jquery-ui-1.8.10.custom.min.js"></script>

    <script type="text/javascript" src="/js/dialogs.js"></script>

</head>
<body>

<div id="header" class="container_24">
    <div class="grid_9"><h1>Title</h1></div>
    <nav class="grid_15">
        <ul>
            <li>My Gripes</li>
            <li>Categories</li>
        </ul>

        <form>
            <input type="search" />
            <input type="submit" value="search" />
        </form>
    </nav>
</div>

<div id="body" class="container_24">
    <div id="sidebar" class="grid_4">

        <a href="#"><img src="/images/logo.png" id="gripeBunny"  /></a>
        <br />
        <nav>
            <ul>
                <li><a id="openAbout" href="#">About</a></li>
                <li><a id="openPrivacy" href="#">Privacy</a></li>
            </ul>
        </nav>

    </div>
    <div id="content" class="grid_20">
        <h1>Hello World</h1>
    </div>


 </div>


    <div id="aboutDialog" title="About">
        About content goes here
    </div>

    <div id="privacyDialog" title="Privacy">
        Privacy statement
    </div>

</body>

Показывает, как в данный момент отображается диалог в FireFox 4 и Chrome 9. illustration of how the dialog is currently rendered

Вот как диалоговое окно отображается в опере и как я хотел бы, чтобы оно отображалось во всех браузерах:

correct dialog rendering in opera

Ответы [ 2 ]

2 голосов
/ 10 мая 2011

У меня была похожая проблема.Моя проблема заключалась в том, что jqueryui css и js libs, которые я использовал, были не одной и той же версии.Похоже, вы делаете то же самое.

Попробуйте импортировать jqueryui следующим образом, и это должно решить вашу проблему:

<link rel="stylesheet" href="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.12/themes/base/jquery-ui.css" />
<script src="https://ajax.googleapis.com/ajax/libs/jqueryui/1.8.12/jquery-ui.min.js"></script>
0 голосов
/ 22 июля 2011

У меня была точно такая же проблема. Я перестал использовать Google для хостинга jquery и загрузил последнюю версию с jquery.com.

...