javascript 鼠標懸浮圖片顯示原圖 移出鼠標后原圖消失(多圖)
更新時間:2009年12月28日 22:00:29 作者:
其實我想實現(xiàn)的只是大圖預(yù)覽,不需要太復(fù)雜。后來,在原來有的javascript資料里找到這個:)“JavaScript網(wǎng)頁設(shè)計300例.chm”,
從里面找到了類似的下拉菜單的例子修改了一下,以實現(xiàn)這個功能。
具體用法是這樣的:
將Javascript代碼放到</body>前(將腳本代碼放在頁面底端有助于提高頁面速度,但是我現(xiàn)在還沒有切身的體會)
<script language=JavaScript>
function mouseOutPic() //當鼠標移出時,隱藏原圖
{
if(window.event.toElement.id!="img000") bigPic.style.visibility = "hidden";
//如果鼠標不在img000上的話,將這個區(qū)域隱藏
}
function mouseOverPic(imgSrc) //當鼠標移上小圖時,顯示原圖
{
var seeBig = document.getElementById("bigPic"); //得到將要顯示原圖區(qū)域的div element
var newImg = document.createElement("img"); //新建一個img element,將原圖的src賦給這個element
newImg = "<img src=\'" + imgSrc + "\'/>"; //注意這里,是為整個element賦值,我在這個小問題上還花了挺多時間
//alert(imgSrc);
seeBig.innerHTML = newImg; //將原圖賦給要顯示的區(qū)域
}
</script>
下面是HTML代碼:
<!--下面這個ID是img000的element是略縮圖,鼠標懸停在它上面即出現(xiàn)原圖-->
<!--onmouseover方法中調(diào)用了mouseOverPic函數(shù)(見上面),傳給它的參數(shù)是原圖的URL-->
<!--調(diào)用mouseOverPic之后,將原圖顯示區(qū)域設(shè)為可見-->
<img id="img000" src="images/general/emailAt.jpg" onmouseover="mouseOverPic('images/general/usc_badge.jpg'); bigPic.style.visibility='visible'" onmouseout="mouseOutPic()">
<!--頁面初始化的時候,原圖顯示區(qū)域是隱藏的-->
<div id="bigPic" style="visibility:hidden;">
</div>
上面這個代碼沒有控制原圖出現(xiàn)的位置,如果涉及到靠近窗口邊緣的位置的話會用到offsetLeft等屬性。
仔細想想,其實這個也蠻簡單的。寫Javascript的需要多多注意細節(jié),這個實在是太重要了,一不小心就會出錯,最糟糕的是不知道錯在哪里。
將Javascript代碼放到</body>前(將腳本代碼放在頁面底端有助于提高頁面速度,但是我現(xiàn)在還沒有切身的體會)
復(fù)制代碼 代碼如下:
<script language=JavaScript>
function mouseOutPic() //當鼠標移出時,隱藏原圖
{
if(window.event.toElement.id!="img000") bigPic.style.visibility = "hidden";
//如果鼠標不在img000上的話,將這個區(qū)域隱藏
}
function mouseOverPic(imgSrc) //當鼠標移上小圖時,顯示原圖
{
var seeBig = document.getElementById("bigPic"); //得到將要顯示原圖區(qū)域的div element
var newImg = document.createElement("img"); //新建一個img element,將原圖的src賦給這個element
newImg = "<img src=\'" + imgSrc + "\'/>"; //注意這里,是為整個element賦值,我在這個小問題上還花了挺多時間
//alert(imgSrc);
seeBig.innerHTML = newImg; //將原圖賦給要顯示的區(qū)域
}
</script>
下面是HTML代碼:
復(fù)制代碼 代碼如下:
<!--下面這個ID是img000的element是略縮圖,鼠標懸停在它上面即出現(xiàn)原圖-->
<!--onmouseover方法中調(diào)用了mouseOverPic函數(shù)(見上面),傳給它的參數(shù)是原圖的URL-->
<!--調(diào)用mouseOverPic之后,將原圖顯示區(qū)域設(shè)為可見-->
<img id="img000" src="images/general/emailAt.jpg" onmouseover="mouseOverPic('images/general/usc_badge.jpg'); bigPic.style.visibility='visible'" onmouseout="mouseOutPic()">
<!--頁面初始化的時候,原圖顯示區(qū)域是隱藏的-->
<div id="bigPic" style="visibility:hidden;">
</div>
上面這個代碼沒有控制原圖出現(xiàn)的位置,如果涉及到靠近窗口邊緣的位置的話會用到offsetLeft等屬性。
仔細想想,其實這個也蠻簡單的。寫Javascript的需要多多注意細節(jié),這個實在是太重要了,一不小心就會出錯,最糟糕的是不知道錯在哪里。
相關(guān)文章
javascript dom代碼應(yīng)用 簡單的相冊[firefox only]
最近一直對前端開發(fā)很感興趣,特別是在像jquery這種流行ajax類庫的幫助下,即使沒有很好的javascript功底也能做出不錯的動態(tài)效果,確實是方便。2010-06-06