таблица глав содержит:
Код: Выделить всё
chapter_id = 1
comic_id = 1
contents = img1.jpg, img2.jpg, img3.jpg an so on..
Сейчас мое решение работает с javascript, но фактический источник изображения содержимого будет взят с Google Диска, а при тестировании с большим количеством ссылок иногда одно или два изображения не загружаются.
Контроллер
Код: Выделить всё
public function pbp($chapter_id = NULL, $comic_id = 'chapter.comic_id')
{
if(!isset($_SESSION['views'. $comic_id]) || (isset($_SESSION['views'. $comic_id]) && $_SESSION['views'. $comic_id] != $comic_id)){
$this->read_model->viewer($comic_id); //load model viewer
$this->session->set_userdata('views'. $comic_id, $comic_id);
}
$data['comic'] = $this->read_model->getComicById($comic_id);
$data['images'] = $this->read_model->getChapterImage($chapter_id);
$this->load->view('read-pbp',$data);
}
Код: Выделить всё
public function getComicById($comic_id)
{
$query = $this->db->get_where('comic', ["comic_id" => $comic_id]);
return $query;
}
public function getChapterImage($chapter_id)
{
$query = $this->db->get_where('chapter', ["chapter_id" => $chapter_id])->result();
return $query;
}
Код: Выделить всё
[i]" class="img-fluid next" alt="">
[/i]Prev
[i][/i]
Next[i][/i]
Код: Выделить всё
$(document).ready(function(){
var start = 0;
var stop = 0;
var nb = 1;
var end = start + nb;
var length = $('.img-list img').length;
var list = $('.img-list img');
list.hide().filter(':lt('+(end)+')').show();
$('.prev, .next').click(function(e){
e.preventDefault();
if( $(this).hasClass('prev') ){
start -= nb;
$('html, body').animate({scrollTop: $("#top-page").offset().top}, 200);
} else {
start += nb;
$('html, body').animate({scrollTop: $("#top-page").offset().top}, 200);
}
if( start < 0 || start >= length ) start = 0;
end = start + nb;
if (stop == length) {
start = length - nb;
end = length;
}
if (end == length) {
stop = end;
}
if( start == 0 ) list.hide().filter(':lt('+(end)+')').show();
else list.hide().filter(':lt('+(end)+'):gt('+(start-1)+')').show();
});
});
window.onload = function() {
$(document).keyup(function (event) {
if (event.keyCode == 39) {
$("#nextb").click();
} else if (event.keyCode == 37) {
$("#prevb").click();
}
});
};
Подробнее здесь: https://stackoverflow.com/questions/628 ... base-array
Мобильная версия