2013-03-18 205 views
0

我使用http://www.barelyfitz.com/projects/tabber/上顯示的標記腳本來提供選項卡式頁面。一般來說,它運行良好,我唯一的抱怨是,直到內容完全加載後才顯示選項卡,然後在屏幕自行正確寫入時出現跳轉。 (對於我的意思的例子見www.littlehotels.co.uk/spain/noves.php。)簡單的Javascript無法正常工作

我認爲解決辦法是隱藏包含這樣

<div class="tabber" id="tabber" style="display:none"> 

所有標籤內容的DIV,然後用一個小的JavaScript功能展現它這由

<body onLoad="ShowTabber()"> 

Javascript本身堪稱是

<script type="text/javascript"> 
function ShowTabber() { 
document.getElementById('tabber').style.display = "block"; 
} 
</script> 

我的小函數似乎停止了外部javascript(tabber.js)的工作,因爲頁面顯示的是所有標籤的內容,沒有標籤本身在頂部。這與我從頁面中刪除對外部腳本的引用的結果相同。

我在做什麼錯?

更多說明: 當tabber.js文件丟失時,頁面會依次顯示所有選項卡的內容(如您所期望的那樣)。如上所述運行腳本具有完全相同的效果;因此我得出結論,該腳本阻止運行的主要JavaScript。

+0

你在jQuery中使用.tabs() – PSR 2013-03-18 12:32:41

+0

你可以把PLZ放在一些更多的解釋... – Rubyist 2013-03-18 12:33:13

+0

我不使用jQuery。說實話,我遠離它,因爲我不明白它。也許是時候學習了。 Napster,我會編輯OP來嘗試給出更多的解釋。 – TrapezeArtist 2013-03-18 12:40:42

回答

0
'onLoad': function(argsObj) { 
    /* Display an alert only after tab */ 
    if (argsObj.tabber.id == 'tab') { 
     alert('Finished loading tab!'); 
    } 
    } 

默認情況下,選擇一個tab.Then完成裝載後,該選項卡會顯示一條消息。

see here

0

嗯,我解決了這個問題(在某種程度上)與jQuery,但它現在已經提出了另一個問題。

爲了迴應PSR,我更深入地研究了jQuery。如果轉換爲.tabs()會太複雜,但我確實在適當的時候使用jQuery來隱藏和顯示一些div。

我在tabber div中放置了一個簡單的小行來顯示「Loading」消息。

<div id="loading" align="center" style="position:relative;top:70px"><h6>Loading ...</h6></div> 

然後我把這個腳本放在jQuery行下的頭部。

<script type="text/javascript"> 
    $(document).ready(function(){ 
     $("#tabber").hide(); 
     $("#loading").hide(); 
     $("#loading").fadeIn(1000); 
    }); 
    $(window).load(function(){ 
     $("#loading").hide(); 
     $("#tabber").fadeIn(300); 
    }); 
function checkResize(id){ 
     var win=document.getElementById(id).contentWindow.document.body.scrollHeight; 
     alert(win); 
} 
</script> 

這工作正常,但一對夫婦的標籤具有I幀爲他們的內容,而這個劇本打破我對這些內部框架使用自動調整腳本。我會開一個新的問題,看看有沒有人有答案。