Другие ответы верны в том, что перемещение вашей декларации my_func
за пределы $(document).ready()
решит вашу проблему, но я хотел бы прояснить причину, потому что она не имеет ничего общего с jQuery, в частности.
$(document).ready()
- это обработчик событий, которому вы передаете анонимную функцию в качестве обратного вызова, которая должна запускаться, когда браузер уведомляет вас о том, что документ готов.
Поскольку вы определили my_func
в функции обратного вызова, она не видна из глобальной области и, следовательно, не может быть вызвана из свойства onclick
элемента img
вашей страницы.
В JavaScript область видимости находится на уровне функций.Все, что не входит в функцию, попадает в глобальную область видимости.