KF

Техника => Софт => Тема начата: Rush от 01-05-2013, 17:09:22



Название: пилим сайт
Отправлено: Rush от 01-05-2013, 17:09:22
пилим сайт
есть слайдер с ручной перемоткой
нужно добавить автопрокрутку раз в 10 секунд

вот простой код jquery:

Код:
/*-------------------------------------------------------
 *
 *   LiveStreet Engine Social Networking
 *   Copyright © 2008 Mzhelskiy Maxim
 *
 *--------------------------------------------------------
 *
 *   Official site: www.livestreet.ru
 *   Contact e-mail: rus.engine@gmail.com
 *
 *   GNU General Public License, version 2:
 *   http://www.gnu.org/licenses/old-licenses/gpl-2.0.html
 *
 ---------------------------------------------------------
 */


var ls = ls || {};
ls.plugin = ls.plugin || {};

/**
 * Динамическая подгрузка блоков
 */
ls.plugin.simpletpl = (function ($) {

this.options = {

};

this.iPageCurr=1;
this.iCountPage=3;

this.init = function(iCountPage){
this.iCountPage=iCountPage;
};

this.page = function(iPage) {
var margin=744*(iPage-1);
//$('#slider-hidden').css({'margin-left':'-'+margin+'px'});

$('#slider-hidden').animate({
'margin-left':'-'+margin+'px'
});

$('#simple-topictop-nav-page-'+this.iPageCurr).removeClass('active');
$('#simple-topictop-nav-page-'+iPage).addClass('active');
this.iPageCurr=iPage;
return false;
}

this.next = function() {
var iPageNext=this.iPageCurr+1;
if (iPageNext>this.iCountPage) {
iPageNext=this.iCountPage;
}
this.page(iPageNext);
return false;
}

this.prev = function() {
var iPageNext=this.iPageCurr-1;
if (iPageNext<1) {
iPageNext=1;
}
this.page(iPageNext);
return false;
}   

return this;
}).call(ls.plugin.simpletpl || {},jQuery);


как?


Название: Re: пилим сайт
Отправлено: WolF от 02-05-2013, 11:37:01
Ну как то типа так:


   this.init = function(iCountPage){
      this.iCountPage=iCountPage;
      setInterval(function() { this.next(); }, 5000);
   }


p.s. код не проверял, это только иллюстрация идеи


Название: Re: пилим сайт
Отправлено: LLInuoH от 06-05-2013, 16:54:25
Ну как то типа так:


   this.init = function(iCountPage){
      this.iCountPage=iCountPage;
      setInterval(function() { this.next(); }, 5000);
   }


p.s. код не проверял, это только иллюстрация идеи

плохая идея: некоторые браузеры не будут делать анимацию пока вкладка не активна, а затем будет "реактивная карусель", опять же будет не круто если пользователь сам нажмет дальше, а через секунду после того как он начал читать, слайд перелистнется -> нужно увеличивать интервал прокрутки после ручного нажатия на кнокпу нехст, а интервал, который кстати лучше ставить через requestAnimationFram, очищать


Название: Re: пилим сайт
Отправлено: WolF от 06-05-2013, 16:58:16
плохая идея: некоторые браузеры не будут делать анимацию пока вкладка не активна, а затем будет "реактивная карусель", опять же будет не круто если пользователь сам нажмет дальше, а через секунду после того как он начал читать, слайд перелистнется -> нужно увеличивать интервал прокрутки после ручного нажатия на кнокпу нехст, а интервал, который кстати лучше ставить через requestAnimationFram, очишать

Естественно это не промышленный код а тупое и примитивное решение "в лоб".