2017-02-21 21 views
2

Я пробовал свои руки на javascript, и он работает, но внезапно перестает работать, т. Е. Функции js не вызываются. Я разместил оба файла .js и html на рабочем столе, но все еще не работал.Uncaught ReferenceError: functionis not defined error, why?

Ошибка:

Uncaught ReferenceError: funcLoadImage is not defined 
    at HTMLButtonElement.onclick 

и эта ошибка может быть для любой функции я звоню.

JS:

function funcLoadImage() { 
    document.getElementById("img1").src = "https://upload.wikimedia.org/wikipedia/commons/3/36/Hopetoun_falls.jpg" 
} 

function funcMath(type, data) { 
    if (type == 1) { 
    document.getElementById("img1").alt = 'Type 1' 
    } 

    if (type == 2) { 
    document.getElementById("img1").alt = 'Type 2' 
    } 
} 

funtion funcDate() { 
    document.getElementById("img1").alt = 'date add' 
} 

HTML код:

<!DOCTYPE html> 
<html> 
<head> 

</head> 
<body> 

<img id="img1" src="" alt="No image loaded" width="50%" height="50%"/> 
<button id="btn1" width="20%" height="20%" onclick='funcLoadImage()'>Load Image</button> 
<button id="btn2" width="20%" height="20%" onmouseover="this.style.width='60%'" onmouseout="this.style.width='20%'">Write Doc</button> 
<button id="btn3" width="20%" height="20%" onclick='funcMath(1,4)'>Calculate</button> 
<button id="btn4" width="20%" height="20%" onclick='this.innerHTML=Date()'>Display Date</button> 



<p> 

</p> 
<script src="script1.js"></script> 

</body> 
</html> 
+4

Если это ваш фактический код, тогда вы опечатка здесь 'funtion funcDate', которая приводит к синтаксической ошибке, поэтому весь контент' script1.js' не оценивается из-за этой синтаксической ошибки. –

+0

спасибо, сэр. Поместите это в поле ответа, и я помечаю как ответ – Covert

ответ

0

Попробуйте это .............

function funcLoadImage() { 
 
    document.getElementById("img1").src = "https://upload.wikimedia.org/wikipedia/commons/3/36/Hopetoun_falls.jpg"; 
 
} 
 

 
function funcMath(type, data) { 
 
    if (type == 1) { 
 
    document.getElementById("img1").alt = 'Type 1'; 
 
    } 
 

 
    if (type == 2) { 
 
    document.getElementById("img1").alt = 'Type 2'; 
 
    } 
 
} 
 

 
function funcDate() { 
 
    document.getElementById("img1").alt = 'date add'; 
 
}
<!DOCTYPE html> 
 
<html> 
 
<head> 
 

 
</head> 
 
<body> 
 

 
<img id="img1" src="" alt="No image loaded" width="50%" height="50%"/> 
 
<button id="btn1" width="20%" height="20%" onclick='funcLoadImage()'>Load Image</button> 
 
<button id="btn2" width="20%" height="20%" onmouseover="this.style.width='60%'" onmouseout="this.style.width='20%'">Write Doc</button> 
 
<button id="btn3" width="20%" height="20%" onclick='funcMath(1,4)'>Calculate</button> 
 
<button id="btn4" width="20%" height="20%" onclick='this.innerHTML=Date()'>Display Date</button> 
 

 

 

 
<p> 
 

 
</p> 
 
<script type="text/javascript" src="script1.js"></script> 
 

 
</body> 
 
</html>

+1

Объясните, почему это решает проблему OPs. Просто вставить код не полезно, если вы не скажете, что ОП сделал неправильно. – Icepickle

+0

ваш код имеет множество синтаксических ошибок ... например, вы не помещали точку с запятой в конец любого оператора ... автоматизировать вставку с запятой вызывают много ошибок. Попробуйте поставить себя ... –

+0

Единственная синтаксическая ошибка была «funtion». Опускание точек с запятой - ** не ** синтаксическая ошибка. Если опустить точки с запятой - хороший или плохой стиль - это то, о чем вы можете много спорить, оба имеют свои плюсы и минусы. –