Next Generation CMS :: Форум поддержки

Заинтересовала наша система? Тогда этот форум для Вас!

Вы не зашли.

#1 2010-04-01 00:30:09

alexz15
Участник
Зарегистрирован: 2010-02-03
Сообщений: 39
Рейтинг :   

Название функции, которая отвечает за loading-layer

Есть необходимость использовать лоадер для других целей.
Подскажите, как называется JS функция, которая отвечает за вывод loading.gif ?

Не в сети

#2 2010-04-01 00:54:03

vitaly
Администратор
Откуда Россия
Зарегистрирован: 2008-10-08
Сообщений: 2,823
Рейтинг :   118 

Re: Название функции, которая отвечает за loading-layer

alexz15, его использует ajax библиотека (engine/includes/js/ajax.js)

Не в сети

#3 2010-04-01 01:03:46

alexz15
Участник
Зарегистрирован: 2010-02-03
Сообщений: 39
Рейтинг :   

Re: Название функции, которая отвечает за loading-layer

vitaly, я хочу совместно с ajax.js использовать jquery для аякс-навигации без перезагрузки страницы. Пробовал эту функцию center_div() - не работает.
Можно сделать так:

$('#loading-layer').show();
...
$('#loading-layer').hide();

а в div-e прописать стили по центру. но может есть возможность вместо '#loading-layer' прописать функцию от ajax.js ?

Изменено alexz15 (2010-04-01 01:10:45)

Не в сети

#4 2010-04-01 01:10:51

vitaly
Администратор
Откуда Россия
Зарегистрирован: 2008-10-08
Сообщений: 2,823
Рейтинг :   118 

Re: Название функции, которая отвечает за loading-layer

alexz15, в принципе можно,..
Попробуй сделать так:

<script type="text/javascript">
var loadLayer = new center_div();
loadLayer.divname = 'loading-layer';
loadLayer.move_div();
</script>

p.s. Естественно перед этим должна быть загружена сама библиотечка
p.p.s. Это для конфигурирования и центровки. А вот функции "показать" / "скрыть" ты можешь использовать из jQuery.

Не в сети

#5 2010-04-01 01:22:29

alexz15
Участник
Зарегистрирован: 2010-02-03
Сообщений: 39
Рейтинг :   

Re: Название функции, которая отвечает за loading-layer

vitaly, спасибо!
Буду пробовать smile

Не в сети

#6 2010-04-01 11:41:43

Евгений
Модератор
Откуда Россия
Зарегистрирован: 2009-04-08
Сообщений: 1,014
Рейтинг :   38 
Сайт

Re: Название функции, которая отвечает за loading-layer

alexz15, если получиться, то не мог бы ты потом расписать по шагам реализацию? roll


I NGeneration CMS

Не в сети

#7 2010-04-02 00:51:23

alexz15
Участник
Зарегистрирован: 2010-02-03
Сообщений: 39
Рейтинг :   

Re: Название функции, которая отвечает за loading-layer

я делаю так: демо, источник, скачать. То есть, у меня меню категорий на AJAX-е (можно сделать не только категории).
Только в nav.js я добавил loading-layer:

var AjaxContent = function(){
var container_div = '';
var content_div = '';
return {
getContent : function(url){
    $(container_div).animate({opacity:0}, //Turn the opacity to 0
        function(){ // the callback, loads the content with ajax
		
		///////////////////////////////
		$('#loading-layer').show(); // показываем gif-loading 
		
        $(container_div).load(url+" "+content_div, //only loads the selected portion
        function(){
		
			///////////////////////////////
			$('#loading-layer').hide(); // скрываем gif-loading
			
            $(container_div).animate({opacity:1}); //and finally bring back the opacity back to 1
            }
        );
    });
},
ajaxify_links: function(elements){
    $(elements).click(function(){
        AjaxContent.getContent(this.href);
        return false; //prevents the link from beign followed
    });
},
init: function(params){ //sets the initial parameters
    container_div = params.containerDiv;
    content_div = params.contentDiv;
    return this; //returns the object in order to make it chainable
    }
    }
}();

div:

<div id="loading-layer" style="position:absolute;top:50%;left:50%"><img src="{tpl_url}/images/loading.gif" alt="" /></div>

Если используется рейтинг новостей, то стили рейтинга нужно перенести в главный файл стилей.

И так вроде нормально.
Но если таким образом открыть полную новость и добавить комментарий (все замечательно открывается и добавляется), то следующий переход в категорию (или новость) почему-то осуществляется без loading-layer neutral поэтому думаю сделать вывод loading-layer через функцию из ajax.js.

Виталий, я пока не понял, loadLayer.move_div() - это и есть функция?

Изменено alexz15 (2010-04-02 00:54:02)

Не в сети

#8 2010-04-02 01:12:08

vitaly
Администратор
Откуда Россия
Зарегистрирован: 2008-10-08
Сообщений: 2,823
Рейтинг :   118 

Re: Название функции, которая отвечает за loading-layer

alexz15, да.

// Инициализируем объект класса center_div (объект будет в переменной loadLayer)
var loadLayer = new center_div();
// Устанавливаем внутреннюю переменную класса (говорим ID нашего div'а)
loadLayer.divname = 'loading-layer';
// Вызываем функцию
loadLayer.move_div();

Не в сети

#9 2010-04-02 03:09:14

alexz15
Участник
Зарегистрирован: 2010-02-03
Сообщений: 39
Рейтинг :   

Re: Название функции, которая отвечает за loading-layer

vitaly, спасибо еще раз! Но у меня никак не получается использовать эту функцию..
Как ее можно вставить сюда вместо '#loading-layer':?

$('#loading-layer').show();

Кстати, если кто-нибудь будет использовать навигацию Ajax в категориях, то вот решение выделения активной категории меню:

<html>  
<head> 
<title>Untitled</title>  
<style type="text/css">  
#navigationDiv a.selected {
font-weight:700
}
#navigationDiv a.noselected {
font-weight:400
}
</style>  
<script type="text/javascript">  
function highlightLinks(obj) {
   var linkList = document.getElementById("navigationDiv").getElementsByTagName("a");
   for (i = 0; i < linkList.length; i++) {
      linkList[i].className = "noselected";
   }
   obj.className = "selected";
}
</script>  
</head>  
<body>  

<div id="navigationDiv">

    <a href="#" onclick="highlightLinks(this)">category1</a><br />
    <a href="#" onclick="highlightLinks(this)">category2</a><br />
    <a href="#" onclick="highlightLinks(this)">category3</a><br />

</div>

</body>  
</html>

PS. Вот как это выглядит на сайте

Изменено alexz15 (2010-04-09 15:22:15)

Не в сети

Подвал раздела

Работает на FluxBB