2015-07-01 13 views
5

當我點擊第二個模態時,第一個模態消失。不過,我也想保持開放!這是一種禁用該行爲的方式嗎?Modal在UIkit上的其他模式

我也注意到其他框架如Foundation有相同的行爲。

這裏是我的代碼:

<a href="#my-id" data-uk-modal>Open Modal</a> 
<div id="my-id" class="uk-modal"> 
    <div class="uk-modal-dialog"> 
     <a class="uk-modal-close uk-close"></a> 
     <p>Lorem ipsum...</p> 
     <a href="#my-id2" data-uk-modal>Nested Modal</a> 
    </div> 
</div> 
<div id="my-id2" class="uk-modal"> 
    <div class="uk-modal-dialog"> 
     <a class="uk-modal-close uk-close"></a> 
     <p>Lorem ipsum...</p> 
    </div> 
</div> 

jsfiddle demo

回答

1

你必須做一些改變:

你的HTML代碼:

<a href="#my-id" data-uk-modal >Open Modal</a> 
<div id="my-id" class="uk-modal"> 
    <div class="uk-modal-dialog"> 
     <a class="uk-modal-close uk-close"></a> 
     <p>Lorem ipsum...</p> 
     <a href="#my-id2" data-uk-modal>Nested Modal</a> 
    </div> 
</div> 
<div id="my-id2" class="uk-modal"> 
    <div class="uk-modal-dialog"> 
     <a class="uk-modal-close uk-close"></a> 
     <p>Lorem ipsum...</p> 
    </div> 
</div> 

jQuery代碼想:

$(document).ready(function(){ 

    $.UIkit.modal('#my-id').show(); 
    $.UIkit.modal('#my-id2').show(); 

}); 

這應該工作

+0

我想你提出什麼顯示多個情態動詞,但它沒有工作。看到演示[這裏](https://jsfiddle.net/davis88/6g80c1nf/9/embedded/result/)。 – gmuser

+0

nah ..如果刪除了jquery行,它將起作用; p –

0

我交新的代碼這工作,所以請試試這個:它會工作

<div> 
    <h2>Multiple Modal</h2> 
    <button class="uk-button" data-uk-modal="{target:'#modal1'}">Open Modal 1</button> 

</div> 

<!-- This is the modal 1--> 
<div id="modal1" class="uk-modal"> 
    <div class="uk-modal-dialog"> 
     <h2>Modal 1</h2> 
     <button class="uk-button" data-uk-modal="{target:'#modal2'}">Open Modal 2</button>  
    </div> 
</div> 


<!-- This is the modal 2--> 
<div id="modal2" class="uk-modal"> 
    <div class="uk-modal-dialog"> 
     <h2>Modal 2</h2> 
     <a class="uk-modal-close" href="#">Close Modal 2</a> 
    </div> 
</div> 

這應該工作...

+1

再次,這不起作用,因爲第一個模式在您點擊第二個模式時會消失。 – gmuser

2

從技術文檔:

可以觸發電流模式中一個新的模式。默認行爲在第二個模式打開時關閉第一個模式。您可以通過添加data-uk-modal="{target:'#ID',modal:false}"屬性來防止發生這種情況。

因此,像:

<div> 
    <h2>Multiple Modal</h2> 
    <button class="uk-button" data-uk-modal="{target:'#modal1', modal: false}">Open Modal 1</button> 

</div> 

<!-- This is the modal 1--> 
<div id="modal1" class="uk-modal"> 
    <div class="uk-modal-dialog"> 
     <h2>Modal 1</h2> 
     <button class="uk-button" data-uk-modal="{target:'#modal2', modal: false}">Open Modal 2</button>  
    </div> 
</div> 


<!-- This is the modal 2--> 
<div id="modal2" class="uk-modal"> 
    <div class="uk-modal-dialog"> 
     <h2>Modal 2</h2> 
     <a class="uk-modal-close" href="#">Close Modal 2</a> 
    </div> 
</div> 

應該工作。

我有它使用JavaScript:

var modal1 = UIkit.modal("#modal1", {center: true, modal: false}), 
    modal2 = UIkit.modal("#modal2", {modal: false}); 
+0

謝謝!有效 !! –

0

可以使用uk-modal="stack: true"

這裏是代碼

<button class="uk-button uk-button-default uk-margin-small-right" type="button" data-uk-toggle="target: #modal-example-1">Open</button> 

<!-- This is the Parent modal --> 
<div id="modal-example-1" uk-modal> 
    <div class="uk-modal-dialog uk-modal-body"> 
     <h2 class="uk-modal-title">Parent Modal</h2> 
     <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</p> 
     <p class="uk-text-right"> 
      <button class="uk-button uk-button-default uk-modal-close" type="button">Cancel</button> 
      <button class="uk-button uk-button-primary" type="button">Save</button> 
     </p> 
     <button class="uk-button uk-button-default uk-margin-small-right" type="button" data-uk-toggle="target: #modal-example-2">Open</button> 
    </div> 
</div> 

<!-- This is the Child modal --> 
<div id="modal-example-2" uk-modal="stack: true"> 
    <div class="uk-modal-dialog uk-modal-body"> 
     <h2 class="uk-modal-title">Child Modal</h2> 
     <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</p> 
    </div> 
</div>