2016-09-16 5 views
0

Я написал этот код, чтобы отображать информацию после наведения мыши на изображение. Есть три изображения на веб-сайте, и каждое изображение имеет собственную текстовую информацию:Показать текст после мыши на изображении с помощью Ajax

var resOb = new XMLHttpsRequest(); 
window.onload = function() { 
document.getElementsByTagName("img").onmouseover = 
function sndReq(0) { 
} 
document.getElementsByTagName("img").onmouseover = 
function sndReq(1) { 
} 
document.getElementsByTagName("img").onmouseover = 
function sndReq(2) { 
} 
    } 
function sndReq(i) { 
switch (i) { 

case 0: 
resOb.open('get', 'info0.txt', true); 
break; 

case 1:  
resOb.open('get', 'info1.txt', true); 
break; 

case 2: 
resOb.open('get', 'info2.txt', true); 
break; 

resOb.onreadystatechange = function() { 
handleResponse(i); 
    } 
    } 
function handleResponse() { 
document.getElementById("info0").innerHTML = 
    resOb.responseText; 
} 

К сожалению, он не работает, и я не в состоянии выяснить, где проблема. Мне нужна помощь.

Здесь HTML Output

<!DOCTYPE html> 
<html lang="de"> 
<head> 
<meta charset="utf-8"> 
<title>AJAX</title> 
<meta name="viewport" content= 
"width=device-width; initial-scale=1.0"> 
    <link rel="stylesheet" type="text/css" 
    href="lib/css/stil.css" /> 
    <script type="text/javascript" 
src="lib/js/ajaxeinsendeaufgabe2.js"></script> 
</head> 
<body> 
<h1>Zusatzinformationen</h1> 
<table> 
<tr> 
<td><img class="img" src="img/b1.jpg" data-file="info0" /></td> 
    <td id="info0"></td> 
    </tr> 
    <tr> 
    <td><img class="img" src="img/b2.jpg" /></td> 
    <td id="info1"></td> 
    </tr> 
    <tr> 
    <td><img class="img" src="img/b3.jpg" /></td> 
    <td id="info2"></td> 
    </tr> 
    </table> 
    </body> 
    </html> 

ответ

0

Ваш ответ ручка не использует я это жестко "info0". Оно должно быть:

function handleResponse (i) { 
    document.getElementById("info"+i).innerHTML = 
    resOb.responseText; 
} 

также не нужен кожух переключателя вы можете сделать то же самое с:

resOb.open('get','info'+i+'.txt',true); 

здесь ссылка на рефакторинг скрипку https://jsfiddle.net/pyr2447k/6/ попытаться увидеть, что если один будет Работа.

+0

Хорошо, но это все еще не сработает. – Marco

+0

Получаете ли вы какие-либо ошибки, ваш onmouseover уволен? Также вы можете захотеть, чтобы текст загружался, когда страница загружается, а не ajax при наведении указателя мыши. Если вы не ставите кеширование на место, чтобы вы не делали вызов каждый раз, когда пользователь переводил мышцы. –

+0

У меня есть ошибка Script1010: Ожидаемый indentifier ajaxeinsendeaufgabe.js (4,18) – Marco

Смежные вопросы