2012-03-22 46 views
0

確定Minheight並通過JavaScript。它工作成功兩次,但相同的代碼不能在第三次調用。這一個(document.getElementById(「rightadmin」)。style.minHeight = wrapHeight +'px';)不起作用。更令人驚訝的是,如果我讓第三名升到第二名,那麼它會起作用,然後第三名不起作用。所以基本上無論我在第二個之後放置什麼都行不通。document.getElementById();不能第三次工作

的JavaScript:

function height(){ 
var dheight= ($(document).height()); 
var wheight= ($(window).height()); 
if(dheight>wheight){ 
var wrapHeight= dheight; 
} 
else { 

var wrapHeight=wheight; 
} 
document.getElementById("iframeArea").style.minHeight=wrapHeight+'px'; 
document.getElementById("dailySchedule").style.minHeight=wrapHeight+'px'; 
document.getElementById("rightadmin").style.minHeight=wrapHeight+'px'; 
} 

HTML:

<body onload="height();"> 
    <!--Start of iframeArea--> 
    <div class="iframeArea" id="iframeArea"> 
     <div class="btnRight" id="rightadmin"> 

     </div> 
    <!--End of btnRight--> 
    </div> 
<!--End of iframeArea--> 
+1

does element'dailySchedule' exists? – fcalderan 2012-03-22 08:14:08

+1

whe re是dailySchedule? – 11684 2012-03-22 08:15:33

+0

請提供完整的HTML結構 – Nishant 2012-03-22 08:15:45

回答

3

你確定dailySchedule ID存在?如果不是,你的函數會拋出一個錯誤,不會執行最後一行。

+0

是的。它存在。該課程適用於另一個頁面,它在第二個位置完美運行。但如果我把它放在第三位,並把「rightadmin」放在第二位,那麼「dailySchedule」停止工作,「rightadmin」開始工作。 – 2012-03-22 08:27:11

0

我在頁面上看不到具有ID = dailySchedule的元素。如果頁面中沒有具有該ID的元素,則應該會出現錯誤。檢查瀏覽器控制檯的JavaScript錯誤。

1

可能是由於範圍問題 - 變量 wrapHeight是在兩個塊本地。

應該不會對結果產生任何影響,但是這個代碼是分配的第三個變量更優雅的方式:

var dheight = $(document).height(); 
var wheight = $(window).height(); 
var wrapHeight = (dheight > wheight) ? dheight : wheight; 

正如所有其他人已經說了,別的東西都是問題。

+0

這不是JavaScript的工作原理 - 塊不會限制變量的範圍,只有函數可以。 – Pointy 2012-03-22 08:38:32

+0

@你說得對,應該在發佈前檢查它(http://jsfiddle.net/WWcnL/)。 – 2012-03-22 08:46:09

0

你說<body onload='height()'>並且從不檢查文檔是否準備好,然後可能沒有帶id的div rightadmin ... 嘗試轉換爲jQuery並執行類似這樣的操作並刪除onload屬性。

$(文件)。就緒(函數(){

//你的代碼在這裏

}

+0

如果你看看html代碼,你會看到「rightAdmin」是第三塊的id。 – 2012-03-22 08:29:34

+0

是的,我看到了,但我說,如果文檔還沒有完成加載,可能不會有id的rightadmin YET!因爲在加載網頁期間調用onload,所以頁面可能不完整。有沒有像已經準備好的東西?因爲我認爲它會起作用,所以你用onready替換onload。 – 11684 2012-03-22 09:37:12

0

我現在使用下面的代碼。它工作正常的一切。

$(function(){ 
    var dheight= ($(document).height()); 
    var wheight= ($(window).height()); 
    var wrapHeight = (dheight > wheight) ? dheight : wheight; 
    $('.dailySchedule').css({ "min-height": wrapHeight + 'px' }); 
    $('.iframeArea').css({ "min-height": wrapHeight + 'px' }); 
$('.btnRight').css({ "min-height": wrapHeight + 'px' }); 

}); 

感謝您的回答

+0

你應該接受你的回答:) – NeeL 2013-01-22 11:13:25

相關問題