2013-05-02 52 views
0

嗨如果這是一個數字問題,很抱歉。
我使用揭示和模態工作正常。
點擊時文本「顯示信息」正在工作。我將如何設置文本了,所以當點擊它更改爲「隱藏信息」zurb foundation 4揭示模式改變data-reveal-id =「myModal」中的文字

function toggle() { 
    var ele = document.getElementById("toggleText"); 
    var text = document.getElementById("myModal"); 
    if(ele.style.display == "block") { 
     ele.style.display = "none"; 
     text.innerHTML = "show"; 
    } 
    else { 
     ele.style.display = "block"; 
     text.innerHTML = "hide"; 
    }} 

a> id="myModal" href="javascript:toggle();" data-reveal-id="myModal"> show /a 
+0

請提供代碼。 – ahmet 2013-05-02 15:45:33

+0

使用函數open:function(){},cani在這裏放置一個函數來更改文本? – funkyfrizby 2013-05-02 16:40:45

+0

謝謝你的格式! 然而,這並不適用於Zurb基金會4文本不會改變從顯示到隱藏並返回 – funkyfrizby 2013-05-02 19:42:04

回答

0

我將如何設置文本了,所以當點擊它更改爲「隱藏信息」

什麼你試圖做的沒有意義。爲什麼,因爲導致你的揭示出現的因素是「外部」模態。否則,如果它在裏面,那麼你將無法通過該元素打開模態。基於這樣的描述,你有這樣的事情:

<a href="#" data-reveal-id="myModal" id="modalTrigger">Open Modal</a> 
<div id="myModal" class="reveal-modal"> 
    <h1>My modal</h1> 
    <a class="close-reveal-modal">&#215;</a> 
</div> 

現在你想modalTrigger更改文本,以指示在關閉模式(即「隱藏模態」),但它沒有任何意義,因爲該模式可以通過關閉:

  • 任何地方點擊頁面上,但該模式
  • 點擊 「X」 鏈路上的模態

所以在模態之外的210元素在模態之外是無用的。

也許你指的是改變對模式本身的文本,再一次,因爲你已經可以設置它的文本爲「關閉模態」也沒用,像這樣:

<a href="#" data-reveal-id="myModal" id="modalTrigger">Open Modal</a> 
<div id="myModal" class="reveal-modal"> 
    <h1>My modal</h1> 
    <a class="close-reveal-modal">&#215;</a> 
    // inline js to make a simple example 
    <a class="button" 
     onclick="javascript:$('#myModal').foundation('reveal', 'close')"> 
     Close Me</a> 
</div> 

所以你看你不不得不改變任何東西來表明一個元素可以關閉模​​態。

如果你的問題是你希望在模態被打開後發生其他事情,那麼這是可以實現的。一個很好的例子是,如果模式的內容將來自數據庫,並且需要一段時間才能加載,所以在取出完成時顯示圖像加載器。然後,您需要該裝載程序「僅在顯示模式後關閉」。你可以這樣做:

$(document).foundation('reveal', { 
    opened: function() {   
     closeImageLoader(); 
    }, 
}); 
+0

謝謝@ von-v但我想改變文本,你點擊打開模式即「打開我」,「關閉我」我知道這是在模式之外,但從用戶的角度來看,如果他們點擊打開你,也可以點擊關閉。 我得到它與以下'var text = document.getElementById(「texter」); $(文件).foundation( '揭示',{ \t開放:函數(){ \t \t text.innerHTML = 「隱藏信息」; \t}, \t封閉:函數(){ \t \t文本。innerHTML =「顯示信息」; \t} });' – funkyfrizby 2013-05-03 19:21:34

+0

你該怎麼做這個格式化工作! – funkyfrizby 2013-05-03 19:22:40

+0

我已經回答了這個問題,請參閱我答案的最後部分。 Ang再次無法通過同一個按鈕關閉模式,因爲它在技術上位於模式下方。如果您在頁面上的任何地方點擊模式外部,模式將關閉。 – 2013-05-04 00:16:52