Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Смена картинки (https://javascript.ru/forum/misc/39263-smena-kartinki.html)

Lynatik 22.06.2013 23:32

Смена картинки
 
Доброго вечера всем.

Подскажите плиз, почему событие по клику this в функцию не передает? и как это вообще организовать.
alert выводит "undefined"
Вот, собственно, картинку, которую будем менять
<img src="search.png" onclick="change_bg()"/>


А вот обработчик

const CHANGE = 2;
function change_bg(){
	var str = this.src;
	alert(str);
	
	var reg = /(2\.png)$/i;
	reg.test(str) == true ? str = str.slice(0, -5) + str.slice(-4) : str = str.slice(0, -4) + CHANGE + str.slice(-4);
	this.src = str;
}


Спасибо

edison 23.06.2013 01:14

<img src="search.png" onclick="change_bg(this)"/>

function change_bg(el){
var str = el.src;

nerv_ 23.06.2013 01:16

когда вы уже будете нормальные рабочие примеры делать
<img src="search.png" onclick="foo(this);foo2.call(this)"/>
<script>
function foo( elem ) {
    alert( elem.src );
}
function foo2() {
    alert( this.src );
}
</script>

Lynatik 23.06.2013 02:00

nerv_,
Благодарю. Уже не первый раз меня выручаете
Так я и учусь, чтобы рабочие примеры делать. Не сразу же все дается)


Часовой пояс GMT +3, время: 09:58.