我創建了一個可以創建選項卡的簡單頁面生成器。 我使用JQuery UI來創建制表符動態創建的選項卡不起作用
當用戶點擊創建選項卡時,他將面對包含標題和內容的模態彈出窗口,並且在完成它們之後,他可以點擊創建選項卡(帶有#tab ID),他可以創建具有相同的形式和按鈕
JS多個標籤:
\t var num_tabs = 0;
\t var elementIdforOneRound;
\t var first = -1;
\t $("#tab").click(function() { // fire by clicking on add button in tab modal
\t if (first != SelectedElement) { // create tab panel
\t var item = "<div id='elem-" + elementId + "' onclick='updateSelectedElement(event," + elementId + ");'><ul></ul></div>";
\t $(SelectedElement).append(item); // append created item to SelectedElement (selected column)
\t $("div#elem-" + elementId + "").tabs();
\t elementIdforOneRound = elementId;
\t elementId++;
\t }
\t var title = document.getElementById('tb-title').value;
\t var content = document.getElementById('tb-content').value;
\t num_tabs = $("div#elem-" + elementIdforOneRound + " ul li").length + 1;
\t $("div#elem-" + elementIdforOneRound + " ul").append(
\t "<li><a href='#tab" + num_tabs + "'>" + title + "</a></li>"
\t );
\t $("div#elem-" + elementIdforOneRound + "").append(
\t "<div id='tab" + num_tabs + "'>" + content + "</div>"
\t );
\t $("div#elem-" + elementIdforOneRound + "").tabs("refresh");
\t first = SelectedElement;
\t });
的問題是,標籤,當用戶將其添加到網頁b做工精細當他導出頁面(我有一個導出按鈕,將HTML文件提供給用戶)該頁面中的選項卡不起作用。創建的標籤代碼在兩個頁面中都是相同的!
<div id="elem-1" onclick="updateSelectedElement(event,1);" class="ui-tabs ui-widget ui-widget-content ui-corner-all" style="box-shadow: rgb(185, 185, 185) 2px 2px 1px;">
<ul class="ui-tabs-nav ui-helper-reset ui-helper-clearfix ui-widget-header ui-corner-all" role="tablist">
<li class="ui-state-default ui-corner-top" role="tab" tabindex="-1" aria-controls="tab1" aria-labelledby="ui-id-1" aria-selected="false" aria-expanded="false"><a href="#tab1" class="ui-tabs-anchor" role="presentation" tabindex="-1" id="ui-id-1">aaaa</a>
</li>
<li class="ui-state-default ui-corner-top ui-tabs-active ui-state-active" role="tab" tabindex="0" aria-controls="tab2" aria-labelledby="ui-id-2" aria-selected="true" aria-expanded="true"><a href="#tab2" class="ui-tabs-anchor" role="presentation" tabindex="-1" id="ui-id-2">bbbb</a>
</li>
</ul>
<div id="tab1" aria-labelledby="ui-id-1" class="ui-tabs-panel ui-widget-content ui-corner-bottom" role="tabpanel" aria-hidden="true" style="display: none;">aaaa</div>
<div id="tab2" aria-labelledby="ui-id-2" class="ui-tabs-panel ui-widget-content ui-corner-bottom" role="tabpanel" aria-hidden="false" style="display: block;">bbbb</div>
</div>
注:我把創建頁面的頁面生成器頁面旁邊(正確訪問到CSS和JS文件)
SelectedElement是一個全局變量,用於保持當前選定列(在頁面構建器中) – Amir
你有相對路徑到你的HTML和你的CSS文件?除非HTML中的所有路徑都是網絡上某處文件的絕對路徑,否則只給用戶html無效。您需要將css和javascript與.zip文件或類似文件中的html捆綁在一起,並確保目錄結構與您的html中的CSS和JavaScript路徑對齊。然後,當用戶點擊導出按鈕時,您可以創建.zip文件並讓它們下載。 –
@AndrewMairose是的,他們是相對的,HTML文件可以訪問他們,這是讓我困惑的原因! – Amir