PageSourceSearch

https://iot.ru/bitrix/templates/.default/components/bitrix/news.list/feed__list/newsAjax.js

js iot.ru collected 2026-10-02 07:10:41 UTC 4,778 bytes, 85 lines download raw bytes

1 // Подгрузка AJAX новостей 
2 $(function() {
3     var counter = parseInt(getParameterByName('PAGEN_1'));
4     counter = counter ? ++counter : 2;
5
6     $('#show-more-news').click(function(event) {
7
8         var self = this;
9		 var mark = false;
10
11         this.innerHTML = '<div id="loadFacebookG">' +
12             '<div id="blockG_1" class="facebook_blockG"></div>' +
13             '<div id="blockG_2" class="facebook_blockG"></div>' +
14             '<div id="blockG_3" class="facebook_blockG"></div></div>';
15         var params = {
16             url: location.pathname + '?PAGEN_1=' + counter + '&bxajaxid=' + bxAjaxId, //URL запроса
17             method: 'get', //GET | POST
18             data: '', //POST - данные для отправки(строка или объект)
19             dataType: 'html', //html | json | script– данные какого типа предполагаются в ответе
20             timeout: 60, //– таймаут запроса в секундах
21             async: true, //– должен ли запрос быть асинхронным или нет
22             processData: true, //– нужно ли сразу обрабатывать данные ?
23             scriptsRunFirst: false, // – нужно ли выполнять все найденные скрипты перед тем, как отдавать сожеримое обработчику или только те, в тэге которых присутствует атрибут bxrunfirst
24             emulateOnload: false, // – нужно ли эмулировать событие window.onload для загруженных скриптов
25             start: true, // – отправить ли запрос сразу или он будет запущен вручную
26             cache: true, // – в случае значения false к параметру URL будет добавляться случайный кусок, чтобы избежать браузерного кэширования
27             onsuccess: successHandler, //функция - обработчик результата
28             onfailure: failHandler //функция - обработчик ошибки
29         };
30
31         BX.ajax(params); // Делаем запрос
32
33         function successHandler(data) {
34             var requestDoc = new DOMParser().parseFromString(data, "text/html");
35             var newPaginator = $(requestDoc).find('.paginator');
36             var currentPaginator = $('.paginator');
37             newPaginator.find('a').each(function(_, item) {
38				 if($(item).html() == "Конец") {mark = true;}
39                 $(item).removeAttr('onclick');
40                 var href = $(item).attr('href');
41                 if (~href.indexOf('bxajaxid')) {
42                     var start = href.indexOf('bxajaxid');
43                     var end = href.indexOf('&') == -1 ? href.length - 1 : href.indexOf('&');
44                     var newHref = href.substring(0, start) + href.substring(end + 1);
45                     $(item).attr('href', newHref);
46                 }
47             });
48             currentPaginator.replaceWith(newPaginator);
49             $(requestDoc).find('.feed__list-item').each(function(_, item) {item.style.opacity = 0;});
50             var newNewsList = $(requestDoc).find('.feed__list').html();
51             var oldNewsList = $('.feed__list');
52             var listItems = document.querySelectorAll('.feed__list-item');
53             oldNewsList.append(newNewsList);
54             for (var i = 0; i < listItems.length; i++) {
55                 window.getComputedStyle(listItems[i]).opacity; // hack for apply transition to new elements
56             }
57             $('.feed__list').find('.feed__list-item').css('opacity', "1");
58             counter++;
59			 if(mark == true) {self.innerHTML = "Показать еще";}
60			 else{self.parentNode.innerHTML = "";}
61			 
62             $('.right_block_fix')
63                .trigger('detach.ScrollToFixed')
64                .scrollToFixed({
65                    marginTop: $('.menu_fixed').outerHeight(true) + 20,
66                    limit: $('.page__footer').offset().top,
67                    zIndex: 999
68                });
69         }
70
71         function failHandler(data) {
72             console.error(data);
73         }
74     });
75
76     function getParameterByName(name, url) {
77         if (!url) url = window.location.href;
78         name = name.replace(/[\[\]]/g, "\\$&");
79         var regex = new RegExp("[?&]" + name + "(=([^&#]*)|&|#|$)", "i"),
80             results = regex.exec(url);
81         if (!results) return null;
82         if (!results[2]) return '';
83         return decodeURIComponent(results[2].replace(/\+/g, " "));
84     }
85 });

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.