jQuery ui тілқатысу терезесін апару мәселелері

Мен біздің өнімдеріміздің біреуі үшін jQuery ui (jquery-ui-1.10.3) диалогтық плагинін пайдаланып, мүмкін болатын «мәселе» таптым: Хостинг беті кішкентай болса немесе хостингтің ағымдағы көрінісі үстіне айналдырылса, ашылған тілқатысу терезесі күтілгендей әрекет етеді. Мәселе үлкен жерде емес, жоғарғы жаққа жылжытылған диалогты өткізу кезінде көрінеді, бұл жағдайда тілқатысу терезесі апарып жатқанда айналады. Бұл IE 9 және ең соңғы Firefox (21.0) болып табылады.

Бет динамикалық түрде қалыптастырылған, күрделі және ұзақ болуы керек. Мен скрипка туралы білмеймін, бірақ қолдануға болатын jQuery-ui lib опциясына ешқандай мүмкіндік жоқ сияқты.

Нақтырақ айтқанда, хостинг парағын 100 пиксельге дейін төмендету (хостингтің жоғарғы 100 пиксельі браузер терезесінің жоғарғы шекарасына «кірістіру» болып табылады), егер тышқаннан кейін оның орнына диалогты сүйсем, тауып алдым 100px төмен түсіп, тінтуірдің түсірілімі болмайды.

Диалог басталады

$(element).dialog({ 
    autoOpen: false, width: 950, height: 820, 
    modal: false, resizable: true, draggable: true
});

Менің сұрақым: 1) кез-келген мәселе бар ма? 2) Егер солай болса, бұл орнату мәселесі немесе қате.

Мұнда кез-келген сарапшы маған көмектесе алады ма?

22
Тікелей сілтемеңізді кем дегенде бөлісіңіз.
қосылды автор Sergio, көзі
Мәселені сипаттағанда, жол болуға тырысыңыз. Сіз өзіңіздің өміріңізді көрсететін фреймдерді бөлісуді қарастырыңыз. Сіз тек « ол айнала бастайды » деп айта алмайсыз және мәселені техникалық тұрғыдан түсінуімізді күтеміз. сақтау режимін опциясын қолдануға тырысасыз ба? Кодты көрейік.
қосылды автор jahroy, көзі
Сіз «Frameworks and Extensions» (беттегі бірінші нәрсе) астында сол жақта ашылатын «jQuery» әртүрлі нұсқаларынан таңдай аласыз.
қосылды автор jahroy, көзі
CSS-нің қандай түрі қатысады? Бұл бірінші орынды көретін болар едім ... Мен jsFiddle (немесе басқа параметрлер ) арқылы ойнап едім. Қайталанатын мысалды бірге бөлуге тырысқанда, сіз оны тудыратын кодтың бір бөлігінен бастай аласыз.
қосылды автор jahroy, көзі
Менің болжауымша, сіздің сүйреп шығарылатын div-ға қолданылатын стильде тіркелген күйінің қандай да бір түрі бар. JsFiddle арналған html, CSS және JavaScipt ойнауға өте оңай. Жоғарыда келтірілген сілтеме, сондай-ақ, оңай үйренуге болатын көптеген баламалы нұсқаларды да ұсынады (және шын мәнінде қызықты). Сондай-ақ Firebug-ді тексеріңіз.
қосылды автор jahroy, көзі
біз қандай кодты аламыз
қосылды автор Avinash R, көзі
Firebug - бұл веб-беттер үшін әдепкі күйге келтірушім. Қазіргі уақытта мен апарылатын стильтерді қарап жатырмын және қазіргі уақытта ешқандай бекітілген позициялық анықтаманы таппадым, проблеманы шеше алмайтынын көру үшін бетті тазартуға тырысамын.
қосылды автор SFD - jinan, көзі
Жақсы, мен кейінірек көремін, рахмет
қосылды автор SFD - jinan, көзі
Негізінен барлық jQuery-ui, plus jquery.qtip one және our own css. Мен өзіміздің CSS файлдарымызда қателер бар-жоғын білетін боламын. Бірақ көрсетілген мінез-құлықтан, lib терезенің үстіңгі жағын немесе құжаттың жоғарғы бөлігін дұрыс өңдеуге/бөлуге болмайды, тек дұрыс деп ойлаймын, мен дұрыс болмас едім ...
қосылды автор SFD - jinan, көзі
Бет динамикалық түрде қалыптастырылған, күрделі және ұзақ болуы керек. Скрипкамен таныс болмаса, jQuery-ui үшін ешқандай мүмкіндік жоқ сияқты.
қосылды автор SFD - jinan, көзі

6 жауаптар

Менде бірдей мәселе болды, мазмұн бет автоматты түрде жасалды. Бұл өте ұзақ.

html, body {position: relative} solves the problem.

30
қосылды
Рахмет, бірақ бұл өте қызықты. Менде 1.10.4 және html, body: relative} болды және бұл қатеге тап болды. Қате бұл постты оқығаннан кейін шешілді, html және body ішінен ережесін: алып тастауға тырыстым және проблема жойылды.
қосылды автор ivkremer, көзі
бұл мәселені де шешті, +1
қосылды автор M.Bush, көзі
Менде 1.10.4 мәселесі болды. Бұл байқалмаған жанама әсерлері жоқ.
қосылды автор nunzabar, көзі
Wow, мен соншалықты таңқалдым, ол жұмыс істеді. CSS түзету jqueryUI 1.10.3 және jQuery 1.9.1 үшін IE8 + және Firefox-та менің мәселемді шешді.
қосылды автор anataliocs, көзі
Қосылған «салыстырмалы», v1.10.2 үшін шешілді
қосылды автор nerkn, көзі
Бұл мен үшін жұмыс істеді :)
қосылды автор dividedbyzero, көзі

OK, мен бұл jQuery-ui 1.10.3 қатесін таптым, мұнда қараңыз :

Бұл UI 1.10.3 пайдалану кезінде ғана пайда болады және жылжыту жолағы болмағанда   Firefox, Opera, IE8-дегі ең жоғарғы деңгейде.

     

Chrome браузерлерінде жақсы жұмыс жасайды және 1.10.2-де жұмыс істейді.

     

UI тілқатысуының демо бетінде де осы қате бар:

     

тілқатысу терезесін төмен жылжытыңыз, сонда жылжыту жолағы қайтадан төмен жылжиды   тілқатысу терезесін төмен қарай сүйреңіз. тілқатысу терезесі өшіріледі

10
қосылды
Яғни, диалог, беттің абсолюттік және салыстырмалы координаталарымен араласады.
қосылды автор AtliB, көзі
Менде бірдей мәселе болды 1.10.2 және 1.11.0. Егер негізгі бет жоғарғы орынға ие болса (тік күйде тік жылжыту жолағы) болса, диалогты сүйреген кезде бұл орын алмайды. Дегенмен, біраз төмен қарай жылжып, тілқатысу терезесін ашып, оны жылжытуға тырыссаңыз, бетті төмен жылжытқаныңызда ол шамамен тең ұзындығы секіріп кетеді.
қосылды автор AtliB, көзі
+1 болса, контейнерде тік жылжытқышты енгізген болсаңыз, бұл jQuery UI тілқатысу үлгісі беті болады.
қосылды автор Alex, көзі
@Alex, жақсы ұстау. Мүмкіндігінше тез шешім 1.10.2-ні пайдалану.
қосылды автор User 00000, көзі

Бұл қатені түзету үшін менің шешімім Дадоға ұқсас, бірақ апарып тастау оқиғасын пайдаланып:

        $(element).dialog({
            draggable: true,
            drag: function(event, ui) {
                var fixPix = $(document).scrollTop();
                iObj = ui.position;
                iObj.top = iObj.top - fixPix;
                $(this).closest(".ui-dialog").css("top", iObj.top + "px");
            }
        });

Менің нұсқасы: jQuery UI - v1.10.3 - 2013-10-10

5
қосылды
JQueryUI 1.10.4 жүйесімен біріктірілген apex 5.0-ді пайдаланып жатырмын, сонымен қатар бұл мәселе түзетілген.
қосылды автор jareeq, көзі

Менің ойымша, қате бар. Мен бұл мәселеге де тап болдым. Ажыратуды өшіру үшін оны түзету туралы шешімім. Тек жалған жалған жасаңыз. Бұл сияқты:

$(element).dialog({ 
    autoOpen: false, width: 950, height: 820, 
    modal: false, resizable: true, draggable: false
});
2
қосылды

Update the jQuery UI Library (js) worked for me. http://jqueryui.com/download/
Remember to update your CSS files too.

1
қосылды

Bugreport: view bug report

Бұл қатені түзету үшін менің шешімім «ui.position.top» (мен үшін 228px) «қалпына келтіру» болып табылады.

$(element).dialog({
    dragStart: function(event, ui) {
        var fixPix = 228;//offset top (add your own here!)
        iObj = ui.position;
        if (iObj.top > fixPix) {
            iObj.top = iObj.top - fixPix;
        }
        ui.position = iObj;
    }
});

Менің нұсқасы: jQuery UI - v1.10.4 - 2014-01-17

Бұл шешім маған жұмыс істейді. Бұл қате қате бекітілгенше сізге де көмектеседі деп үміттенемін.

0
қосылды