Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Не работает скрипт :help: (https://javascript.ru/forum/misc/74758-ne-rabotaet-skript-help.html)

Egor_735_jr 06.08.2018 16:06

Не работает скрипт :help:
 
(function(){
$(document).on('mouseover','count', function(counter=0, element){
					counter++;
					element.innerHTML='Вы навели курсор на этот див ' + counter + ' раз!'; 
				});
			}());

j0hnik 06.08.2018 16:25

element есть у вас?

Alexandroppolus 06.08.2018 16:30

в методе on вторым параметром может идти селектор.
возможно, надо написать '#count' или '.count' - в зависимости от того, id это или класс

j0hnik 06.08.2018 16:35

<style>
	div{
		width: 100px;
		height: 100px;
		border: 1px solid gray;
	}
</style>
<div></div>
<div></div>
<div></div>
	<script>
document.querySelectorAll('div').forEach(el=> el.onmouseover =e=> ++el.textContent);
	</script>

j0hnik 06.08.2018 16:43

<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>Document</title>
	<style>
		div{
			width: 100px;
			height: 100px;
			border: 1px solid gray;
		}
	</style>
</head>
<body>
<div></div>
<div></div>
<div></div>
	<script>
document.querySelectorAll('div').forEach(el=> el.onmouseover =e=> el.textContent = 'Вы навели курсор на этот див ' + (+el.textContent.replace(/\D/g,'')+1) + ' раз!');
	</script>
</body>
</html>

Dilettante_Pro 06.08.2018 16:58

<style>
		div{
			width: 100px;
			height: 100px;
			border: 1px solid gray;
		}
	</style>
<div id='count'></div>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>

<script>
(function(){
   var counter = 0;
   $(document).on('mouseover','#count', function(){
      counter++;
      this.innerHTML='Вы навели курсор на этот див ' + counter + ' раз!'; 
   });
}());
</script>

Или так
<style>
		div{
			width: 100px;
			height: 100px;
			border: 1px solid gray;
		}
	</style>
<div id='count'></div>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>

<script>
(function(){

   $(document).on('mouseover','#count', { counter:0 }, function(e){
      e.data.counter++;
      this.innerHTML='Вы навели курсор на этот див ' + e.data.counter + ' раз!'; 
   });
}());
</script>

Egor_735_jr 06.08.2018 21:12

А в первом случае обязательно выносить переменную из функции?

Dilettante_Pro 08.08.2018 13:18

Цитата:

Сообщение от Egor_735_jr
первом случае обязательно выносить переменную из функции?

А где еще вы зададите начальное значение var counter = 0; ?
Второй вариант как раз демонстрирует другой способ задания начального значения.


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