我有一個小問題,我想要一個div顯示,當有人懸停在圖像上,問題是這個圖像是在php內部,而那裏的document.getElementById不起作用。有沒有辦法解決這個問題?php getElementById
<?php echo "<img onmouseover='xxxxxx' src='img/img.png'>" ?>
x在哪裏?
我有一個小問題,我想要一個div顯示,當有人懸停在圖像上,問題是這個圖像是在php內部,而那裏的document.getElementById不起作用。有沒有辦法解決這個問題?php getElementById
<?php echo "<img onmouseover='xxxxxx' src='img/img.png'>" ?>
x在哪裏?
你需要在這裏的代碼這一行回顯到客戶端將處理onmouseover事件,像這樣的網頁創建一個javascript函數:我有一個小問題
<html>
<head>
<script language="javascript" type="text/javascript">
function imageSwap() {
var img = document.getElementById("img1");
//swap out the image...
}
</script>
</head>
<body>
<?php echo "<img id='img1' onmouseover='imageSwap()' src='img/img.png'>" ?>
</body>
</html>
謝謝,我試過了以前和它沒有工作,似乎現在工作:) – 2011-05-05 14:25:05
,我想一個div來顯示,當有人懸停在圖像
確保信息訪問誰不使用指點設備太
人問題是,這個圖像是在php內部,而那裏的document.getElementById不起作用。
您誤診了這個問題。 PHP在服務器上運行並將其輸出發送到客戶端。它不能阻止某些東西的工作(儘管它可以寫得很糟糕,所以它輸出了你不期望的東西)。
如果您認爲PHP是造成您的問題的原因,那麼您需要停止詢問「爲什麼嵌入在此PHP中的JS不起作用?」並開始問「爲什麼從PHP輸出的JS不同於我想寫的JS?」
x是怎麼回事?
很難說沒有看到代碼的其餘部分。
這取決於你爲什麼不能看到div在第一個地方。它是不可見的?它沒有顯示?它不是文檔的一部分嗎?它被其他東西掩蓋了嗎?等等。
作爲一個經驗法則,你應該避免內在的事件屬性,而傾向於通過存儲在外部文件中的JavaScript分配事件處理程序。這是unobtrusive JavaScript的一部分。
你可以改變布賴恩·德里斯科爾的代碼,使其動態,像這樣:
<html>
<head>
<script language="javascript" type="text/javascript">
function imageSwap(el) {
var img = el.id;
//swap out the image...
}
</script>
</head>
<body>
<?php echo "<img id='img1' onmouseover='imageSwap(this)' src='img/img.png'>" ?>
</body>
</html>
這樣,你將永遠有您的徘徊上的圖像正確的ID。不管圖像的數量多少
不錯的一個 - 絕對是我會在生產中做什麼。 – 2011-05-05 16:20:03
getElementById不起作用的原因是因爲沒有圖像的id屬性。無論是從PHP或其他地方派生的HTML都是無關緊要的。 – 2011-05-05 14:17:16
你不能編輯PHP來添加ID嗎? – 2011-05-05 14:17:41
我可以添加一個id,問題是當有人懸停在圖像上時,我必須得到div的ID,然後將css代碼從display ='none'更改爲display ='block' – 2011-05-05 14:20:51