Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Срабатывание подгрузки после клика по кнопке (https://javascript.ru/forum/misc/74133-srabatyvanie-podgruzki-posle-klika-po-knopke.html)

CORONER 15.06.2018 19:56

Срабатывание подгрузки после клика по кнопке
 
Существует скрипт подгрузки материалов путем скроллинга.
CMS:Ucoz

<div id="conter">$BODY$</div>  


<script type="text/javascript"> 
  if ($("#pagesBlock1").find(".swchItem:contains('»')").text() == '»') {  
  $("#pagesBlock1").after('<div id="nextCont" class="input_submit alt"><div class="u_pos"></div></div>');  
  };  

$(window).scroll(function() {  
if($('.u_pos').position().top-$(window).scrollTop() < 1000) {
Conte.to()  
}  
});  

  Conte = {  
  to:function(){  
  $("#nextCont").html('<div align="center"><img src="/.s/img/icon/ajsml.gif" border="0" /></div>');  
  nextik = $("#pagesBlock1").find(".swchItem:contains('»')").attr('onclick').toString();  
  num = nextik.match(/\d/);  
  $.get('/news/'+num, function(next){  
  $("#conter").append( $("#conter", next).html() );  
  $("#pagesBlock1").html( $("#pagesBlock1", next).html() );  
  $("#nextCont").html('<div class="u_pos"></div>');  
  if ($("#pagesBlock1", next).find(".swchItem:contains('»')").html() == null) { $("#nextCont").fadeOut(); };  
  });  
  }  
  }  

/*by Вовчик*/
  </script>
<style>#pagesBlock1 {display:none;}</style>


Как сделать, чтобы данный скрипт срабатывал не по скроллу, а после нажатия батона и дальше автоматом подгружал.
То бишь алгоритм таков, что подгрузка скролом не работает без нажатия на кнопку.

рони 15.06.2018 20:31

CORONER,
строка 28
$("ваша_кнопка").click(Conte.to)
строки 9-13 убрать

DEVIL 03.10.2018 19:30

То бишь, так?
<script type="text/javascript"> 
  if ($("#pagesBlock1").find(".swchItem:contains('»')").text() == '»') {  
  $("#pagesBlock1").after('<div id="nextCont" class="input_submit alt"><div class="u_pos"></div></div>');  
  };  



  Conte = {  
  to:function(){  
  $("#nextCont").html('<div align="center"><img src="/.s/img/icon/ajsml.gif" border="0" /></div>');  
  nextik = $("#pagesBlock1").find(".swchItem:contains('»')").attr('onclick').toString();  
  num = nextik.match(/\d/);  
  $.get('/blog/'+num, function(next){  
  $("#conter").append( $("#conter", next).html() );  
  $("#pagesBlock1").html( $("#pagesBlock1", next).html() );  
  $("#nextCont").html('<div class="u_pos"></div>');  
  if ($("#pagesBlock1", next).find(".swchItem:contains('»')").html() == null) { $("#nextCont").fadeOut(); };  
  });  
  }  
  }  

$("#loader").click(Conte.to)
  </script>
<style>#pagesBlock1 {display:none;}</style>
<button id="loader1">Кнопка</button>

Очень туп в JS....очень.

рони 03.10.2018 19:51

DEVIL,
скрипт вниз страниицы

DEVIL 03.10.2018 20:23

Не хочет(
https://modfix.ru/blog/
Скрипт стоит перед <body>
<!DOCTYPE HTML>

<!--============================================================

* Design: by A.Fyodorov // afyodorov.ml
* Copyright (c) 2017: afyodorov.ml 

=============================================================-->

<html lang="ru">
<head>

<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">

<!-- для адаптивного дизайна -->
<meta name="viewport" content="width=device-width, initial-scale=1">

<!-- информация о сайте -->
<title>Каталог игровых статей — Модфикс</title>
<meta name="description" content="Новости фарминг симулятора и оффроад игры, в статье от Модфикс. Также личные моды и советы моддинга.">
<meta name="keywords" content=" ">
<meta name="author" content="Artyom Fyodorov // vk.com/artfyodorov">

<!-- иконка для сайта -->
<link rel="shortcut icon" href="favicon.ico">
<link href="https://fonts.googleapis.com/icon?family=Material+Icons"
 rel="stylesheet">
<!-- CSS -->
 <link rel="stylesheet" href="/template.css">

<!-- Это для старого IE, чтобы он понял HTML5 теги -->
<!--[if lt IE 9]>
 <script src="http://html5shiv.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->
<script type="text/javascript" src="/js/PageCookies.js"></script>
</head>
<body>
$GLOBAL_AHEADER$

<div class="breadcrumbs-wrapper">

 <div class="breadcrumbs"><a href="$HOME_PAGE_LINK$" title="Главная"><strong>Modfix.Ru</strong></a> » <a href="/blog"><strong>Блог новости</strong></a></div> 
 

</div>
 <hr>

 
 
</div>
 <div align="right" class="add"><a href="$ADD_ENTRY_LINK$">Добавить ПОСТ</a></div>
 </span>


 <div id="conter">$BODY$</div> 




</center>


 </main>

<style>#pagesBlock1 {display:none;}</style>
<button id="loader1">Кнопка</button>

 $GLOBAL_BFOOTER$
<script type="text/javascript"> 
  if ($("#pagesBlock1").find(".swchItem:contains('»')").text() == '»') {  
  $("#pagesBlock1").after('<div id="nextCont" class="input_submit alt"><div class="u_pos"></div></div>');  
  };  



  Conte = {  
  to:function(){  
  $("#nextCont").html('<div align="center"><img src="/.s/img/icon/ajsml.gif" border="0" /></div>');  
  nextik = $("#pagesBlock1").find(".swchItem:contains('»')").attr('onclick').toString();  
  num = nextik.match(/\d/);  
  $.get('/blog/'+num, function(next){  
  $("#conter").append( $("#conter", next).html() );  
  $("#pagesBlock1").html( $("#pagesBlock1", next).html() );  
  $("#nextCont").html('<div class="u_pos"></div>');  
  if ($("#pagesBlock1", next).find(".swchItem:contains('»')").html() == null) { $("#nextCont").fadeOut(); };  
  });  
  }  
  }  

$("#loader").click(Conte.to)
  </script>
 
</body>

</html>


Реально ли сделать подгрузку скроллингом, после нажатия на кнопку. Или такое не реализовать на JS?

рони 03.10.2018 20:52

DEVIL,
<button id="loader1">Кнопка</button>
$("#loader").click(Conte.to) ???
$("#loader1").click(Conte.to)

рони 03.10.2018 20:54

Цитата:

Сообщение от DEVIL
Реально ли сделать подгрузку скроллингом, после нажатия на кнопку. Или такое не реализовать на JS?

реально, только не понятно то нужно по кнопке, то по скролу.

DEVIL 03.10.2018 21:45

Цель:
при нажатии на кнопку "Подгрузить материалы" - начиналась подгрузка скролом (то бишь, бесконечная)

рони 03.10.2018 22:21

DEVIL,
примерно так ...
<script>
  if ($("#pagesBlock1").find(".swchItem:contains('»')").text() == '»') {
  $("#pagesBlock1").after('<div id="nextCont" class="input_submit alt"><div class="u_pos"></div></div>');
  };
var more = true;
$(window).scroll(function() {
if(more) return;
if($('.u_pos').position().top-$(window).scrollTop() < 1000) {
Conte.to()
}
});

  Conte = {
  to:function(){
  $("#nextCont").html('<div align="center"><img src="/.s/img/icon/ajsml.gif" border="0" /></div>');
  nextik = $("#pagesBlock1").find(".swchItem:contains('»')").attr('onclick').toString();
  num = nextik.match(/\d/);
  $.get('/news/'+num, function(next){
  $("#conter").append( $("#conter", next).html() );
  $("#pagesBlock1").html( $("#pagesBlock1", next).html() );
  $("#nextCont").html('<div class="u_pos"></div>');
  if ($("#pagesBlock1", next).find(".swchItem:contains('»')").html() == null) { $("#nextCont").fadeOut(); };
  });
  }
  }
$("#loader1").click(function() {
more = false;
$(this).hide();
Conte.to()
});
/*by Вовчик*/
  </script>

DEVIL 06.10.2018 22:48

спасибо большое. Заработало.
Но вопрос:
а как для сего скрипта сделать подгрузку скролом после нажатия на кнопку.
<div id="contik">$BODY$</div>
<div style="display:none;" id="selector">$PAGE_SELECTOR$</div> 

 <script type="text/javascript"> 
 if ($("#selector").find(".swchItem:contains('»')").text() == '»') { 
 $("#selector").after('<br><div id="nextCont" class="input_submit alt" style="display:block; text-align:center;"><div onclick="Conti.to();" style="padding:3px;"><b>Подгрузить материалы</b></div></div>'); 
 }; 
var more = true;
$(window).scroll(function() {
if(more) return;
if($('.u_pos').position().top-$(window).scrollTop() < 1000) {
Conte.to()
}
});

 Conti = { 
 to:function(){ 
 $("#nextCont").html('<div class="pageloader" style="padding:4px"><img src="/image/podgruzka_next_load.gif" border="0" /></div>'); 
 nextik = $("#selector").find(".swchItem:contains('»')").attr('onclick').toString(); 
 num = nextik.match(/\d/); 
 $.get('/load/0-'+num, function(next){ 
 $("#contik").append( $("#contik", next).html() ); 
 $("#selector").html( $("#selector", next).html() ); 

 $("#nextCont").html('<div class="pageloader" onclick="Conti.to();" class="preloader" style="padding:3px;"><b>Подгрузить материалы</b></div>'); 
 if ($("#selector", next).find(".swchItem:contains('»')").html() == null) { $("#nextCont").fadeOut(); }; 
 }); 
 } 
 } 
 </script>


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