@lemonlimelike

Как вызвать функцию по клику?

$(document).ready(function(Ajax){
			var num = 11;
			var inProcess = false;
			$(window).scroll(function(){
			  if ($(window).scrollTop() + $(window).height() >= $(document).height() && !inProcess ){
			  	console.log("1");
			  $.ajax({
				url: '../load.php',
				method: 'GET',
				dataType:'json',
				data: "num="+num,
				beforeSend: function(){
				  inProcess = true;
				},
					success: function(data){
						$.each(data, function(index, data){
						$(".videos").append('<ul><li><div class="image_index"><a href="http://burgudjatv.ru/shplayer/shablon/' + data.id +  '"><img class="image_index" src="/media/images/' + data.img +'.jpg'+ '" width="350" height="250" /></a><div id="videos_image"><img src="/media/views.png" id="views" /><span class="videos_views">' + data.views + '</span></div></div><div class="title_alt"><span>' + data.title.substr(0,38) + '...' + '</span></div></li></ul>');
						});
						inProcess = false;
						num += 12;
					}
			  });
			  }
			});
		});

Вот ajax запрос.
<div class="show_more" onClick="Ajax();"><h1>Показать больше</h1></div>

Как по клику на show_more вызвать функцию Ajax. Я дал имя но он почему-то не работает, Как это сделать?
  • Вопрос задан
  • 1496 просмотров
Решения вопроса 1
@ipokos
У вас функция загружается и может выполняться сразу после загрузки страницы.
Если нужно вызывать только по клику, то вместе с страницей загружаете обработчик события:
$(document).ready(function(){
    $('.show_more').bind('click', function(){
    // тут тело функции которая выполняется по клику на элемент с классом show_more
})
// или так:

$('.show_more').bind('click', ajaxFunction() );
// а саму функцию ajaxFunction() описываете ниже
function ajaxFunction(){
   // тут тело функции
}
});


p.s. старайтесь не давать функциям зарезервированные имена (bind, ajax, click и т.п.)
1е - это не описывает функционал, 2е - может вызвать ошибки или психи когда будете отлаживать ее потом)
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@m_pchelnikov
Не `function(Ajax)`, а `function Ajax()`, тогда уж. Но лучше писать имя функции с маленькой буквы.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
summer Ярославль
от 100 000 до 140 000 ₽
КРАФТТЕК Санкт-Петербург
от 60 000 до 80 000 ₽
19 апр. 2024, в 23:00
5000 руб./за проект
19 апр. 2024, в 20:43
20000 руб./за проект