2011-09-08 73 views
0

我在編寫一個覆蓋縮略圖庫頁面的圖像查看器框。圖像查看器設置爲在用戶點擊縮略圖時變爲可見。JavaScript可見性閃爍輸出

當前,點擊拇指時,查看器會彈出可見性,然後立即再次變爲不可見。我想知道如何調用查看器以獲得完整的可見性,然後將其保留在那裏。

我正在使用外部.js文件。

onclick事件:

<div class="thumb_box"> 
    <a href="" alt="gallery thumb" onclick="invokeViewer()"> 
     <img class="thumbnail" src="../thumbs/jacob/jacob1.png" /> 
    </a> 
</div> 

JavaScript函數:

function invokeViewer(){ 

    var viewerBack = document.getElementById('imagebox_foreground'); 
    var viewerFore = document.getElementById('imagebox_background'); 
    var currentImage = document.getElementById('current_image'); 

    viewerBack.style.visibility='visible'; 
    viewerFore.style.visibility='visible'; 
    currentImage.style.visibility='visible'; 

    return false; 
} 

查看器div的HTML:

<div id="imagebox_foreground" style="visibility:hidden"> 
    <img id="current_image" style="visibility:hidden" src="imageurl.jpg" /> 
</div> 

<div id="imagebox_background" style="visibility:hidden"></div> 

查看器div的CSS

#imagebox_foreground{ 
    position:absolute; 
    left:50%; top:50%; 
    height:570px; width:880px; 
    margin-left:-430px; margin-top:-285px; 
    background-color:transparent; 
    z-index:992; 
} 
#imagebox_background{ 
    position:absolute; left:50%; top:50%; 
    height:570px; width:880px; 
    margin-left:-430px; margin-top:-285px; 
    background-color:black; 
    border-right:solid 4px rgb(40,40,40); border-left:solid 4px rgb(40,40,40); 
    opacity:.85; filter:alpha(opacity=85); 
    z-index:991; 
}   
#current_image{ 
    display:block; 
    margin-right:auto; 
    margin-left:auto; 
    margin-top:10px; 
} 
+0

我想返回''上invokeViewer FALSE'()'可能給你造成麻煩。如果你返回true或完全沒有返回會發生什麼? –

回答

0

我懷疑您的href被觸發,你的網頁被重新加載。將return false添加到您的事件處理程序中,以防止鏈接被觸發。 invokeViewer()已經返回false,所以你可以說return invokeViewer()

<a href="" alt="gallery thumb" onclick="return invokeViewer()"> 

或者:

<a href="" alt="gallery thumb" onclick="invokeViewer(); return false;"> 
+0

這樣做。謝謝。我懷疑這是重新加載,但不知道爲什麼函數內的返回錯誤並不能阻止它。 – ratSawGod