2012-06-06 125 views
-4

我有代碼:PHP鼠標懸停圖像變化

<?php 
function imagecode($url,$x,$y,$h='auto') { 
?> 
<div style="display:block;position:absolute;left:<?php echo $x; ?>;top:<?php echo $y; ?>;"> 
<img src="<?php echo $url; ?>" style="height:<?php echo $h; ?>;"> 
</div> 
<?php 
} 
imagecode('/index_files/images/loga/same-off.png',110,-140,36); 
?> 

,我需要做的是圖像變化到另一個鼠標懸停,可能使用$ rollover_url例如。如何修改代碼?此外,圖片需要鏈接到網站。

+5

這不能用PHP來完成,你需要使用JavaScript或CSS。 –

回答

4

請務必注意,您的PHP代碼不存在於瀏覽器中,並且瀏覽器是鼠標懸停效果發生的地方。您的PHP代碼僅存在於服務器上,在那裏它被處理成代碼,然後發送到瀏覽器。

爲了做一個鼠標懸停效果,您可能需要使用JavaScript的傳統方法,並做一些沿着以下線路:

var kitten = document.getElementById("kitten"); 

kitten.addEventListener("mouseover", function(){ 
    this.src = "overImage.png"; 
}, false); 

kitten.addEventListener("mouseout", function(){ 
    this.src = "originalImage.png";  
}, false); 

小提琴:http://jsfiddle.net/jonathansampson/ZPqPy/

+0

它看起來像多個圖像?我有13個。 –

+0

@LestattGaara你需要循環遍歷它們,或者重複這個代碼13次。或者,如果您願意使用庫,jQuery是一款免費工具,可以非常輕鬆地完成此操作。 – Sampson

0

如果你命名你的像1.png,2.png,...,13.png這樣的圖像可能會工作,假設你只有13張圖像。

var image = document.getElementById("image"); 
var counter = 1; 
image.addEventListener("mouseover", function(){ 
    counter = counter +1; 
    this.src = counter + ".png"; 
}, false); 

image.addEventListener("mouseout", function(){ 
    this.src = counter + ".png"; 
}, false); 

也就是說,假設所有圖像都與javascript所在的網頁位於同一目錄中。它在鼠標懸停上更改圖像,但鼠標懸停時沒有圖像。

您可以隨意修改它。