Прошу помощи в Js

ingmar
На сайте с 11.01.2009
Offline
111
566

Доброго времени суток уважаемые форумчане. Хочу сделать предзагрузку картинок в онлайн-просмоторщике комиксов, но с js не знаком в принципе. Буду очень признателен за помощь. Собственно вот код php, отвечающий за непосредственный вывод картинок.

if ($manga) {

if ($chapter) {
if ($page) {
$img = "mangas/" . $manga . "/" . $chapter["folder"] . "/" . $pages[$page - 1];
$imgsize = omv_get_image_size($img);
$imghtml = "<img src=\"$img\" alt=\"\" width=\"" . $imgsize["width"] . "\" height=\"" . $imgsize["height"] . "\" class=\"picture\" />";

$prev_page_path = omv_get_previous_page($manga_escaped, $chapter_number_escaped, $page, $previous_chapter);
$next_page_path = omv_get_next_page($manga_escaped, $chapter_number_escaped, $page, count($pages), $next_chapter);

if ($next_page_path) {
$imghtml = "<a href=\"$next_page_path\">" . $imghtml . "</a>";
}
echo $imghtml;
} else {
echo "<div class=\"warn\">Вы не выбрали страницу!</div>";
}
} else {
echo "<div class=\"warn\">Вы не выбрали главу!</div>";
}
} else {
echo "<div class=\"warn\">Выберите мангу для чтения</div>";
}

Спасибо.

https://white-master.ru/ (https://white-master.ru/) разработка продающих сайтов
T
На сайте с 20.03.2007
Offline
67
Toy
#1

Приведенный php код никакой информации не несет. Покажите лучше html код готовой страницы, либо дайте ссылку

ingmar
На сайте с 11.01.2009
Offline
111
#2
Toy:
Приведенный php код никакой информации не несет. Покажите лучше html код готовой страницы, либо дайте ссылку

Код страницы:

<div class="pager">
<span>Манга <select name="manga" onchange="change_manga(this.value)"><option value="0">Выберите мангу...</option><option value="Dengeki_Daisy" selected="selected">Dengeki Daisy</option></select></span>
<span>Chapter <select name="chapter" onchange="change_chapter('Dengeki_Daisy', this.value)"><option value="5" selected="selected">5</option></select></span>
<span><img src="themes/default/no-previous.png" alt="" /> Page <select name="page" onchange="change_page('Dengeki_Daisy', '5', this.value)"><option value="1" selected="selected">#1</option><option value="2">#2</option><option value="3">#3</option><option value="4">#4</option><option value="5">#5</option><option value="6">#6</option><option value="7">#7</option><option value="8">#8</option><option value="9">#9</option><option value="10">#10</option><option value="11">#11</option><option value="12">#12</option><option value="13">#13</option><option value="14">#14</option><option value="15">#15</option><option value="16">#16</option><option value="17">#17</option><option value="18">#18</option><option value="19">#19</option><option value="20">#20</option><option value="21">#21</option><option value="22">#22</option><option value="23">#23</option><option value="24">#24</option><option value="25">#25</option><option value="26">#26</option><option value="27">#27</option><option value="28">#28</option><option value="29">#29</option><option value="30">#30</option><option value="31">#31</option><option value="32">#32</option><option value="33">#33</option><option value="34">#34</option><option value="35">#35</option><option value="36">#36</option><option value="37">#37</option><option value="38">#38</option><option value="39">#39</option></select> of 39 <a href="Dengeki_Daisy/5/2"><img src="themes/default/next.png" alt="Next Page" title="Next Page" /></a></span>
</div>
</td>
</tr>
<tr>
<td>
<div class="ads">
<!-- Begin Advertisement -->
<img src="ads.png" alt="Ads" width="468" height="60" />
<!-- End Advertisement -->
</div>
</td>
</tr>
<tr>
<td><a href="Dengeki_Daisy/5/2"><img src="mangas/Dengeki Daisy/5/Dengeki_Daisy_02_05_001[KRS].png" alt="" width="750" height="1200" class="picture" /></a></td>
</tr>
<tr>
<td>
<div class="ads">
<!-- Begin Advertisement -->
<img src="ads.png" alt="Ads" width="468" height="60" />
<!-- End Advertisement -->
</div>
<script type="text/javascript">
function omvKeyPressed(e) {
var keyCode = 0;

if (navigator.appName == "Microsoft Internet Explorer") {
if (!e) {
var e = window.event;
}
if (e.keyCode) {
keyCode = e.keyCode;
if ((keyCode == 37) || (keyCode == 39)) {
window.event.keyCode = 0;
}
} else {
keyCode = e.which;
}
} else {
if (e.which) {
keyCode = e.which;
} else {
keyCode = e.keyCode;
}
}

switch (keyCode) {
case 39:
window.location = "http://animeaddict.ru/manga/Dengeki_Daisy/5/2";
return false;

default:
return true;
}
}
document.onkeydown = omvKeyPressed;
</script>
</td>
</tr>
<tr>
<td>
<div class="pager">
<span>Манга <select name="manga" onchange="change_manga(this.value)"><option value="0">Выберите мангу...</option><option value="Dengeki_Daisy" selected="selected">Dengeki Daisy</option></select></span>
<span>Chapter <select name="chapter" onchange="change_chapter('Dengeki_Daisy', this.value)"><option value="5" selected="selected">5</option></select></span>
<span><img src="themes/default/no-previous.png" alt="" /> Page <select name="page" onchange="change_page('Dengeki_Daisy', '5', this.value)"><option value="1" selected="selected">#1</option><option value="2">#2</option><option value="3">#3</option><option value="4">#4</option><option value="5">#5</option><option value="6">#6</option><option value="7">#7</option><option value="8">#8</option><option value="9">#9</option><option value="10">#10</option><option value="11">#11</option><option value="12">#12</option><option value="13">#13</option><option value="14">#14</option><option value="15">#15</option><option value="16">#16</option><option value="17">#17</option><option value="18">#18</option><option value="19">#19</option><option value="20">#20</option><option value="21">#21</option><option value="22">#22</option><option value="23">#23</option><option value="24">#24</option><option value="25">#25</option><option value="26">#26</option><option value="27">#27</option><option value="28">#28</option><option value="29">#29</option><option value="30">#30</option><option value="31">#31</option><option value="32">#32</option><option value="33">#33</option><option value="34">#34</option><option value="35">#35</option><option value="36">#36</option><option value="37">#37</option><option value="38">#38</option><option value="39">#39</option></select> of 39 <a href="Dengeki_Daisy/5/2"><img src="themes/default/next.png" alt="Next Page" title="Next Page" /></a></span>
</div>
</td>
</tr>
</table>
</td>
<td class="mid_right"></td>
</tr>
<tr class="line">
<td class="down_left"></td>
<td class="down"></td>
<td class="down_right"></td>
</tr>
</table>
</div>

Соответственно приведенный в первом посте код отвечает за это:

<a href="Dengeki_Daisy/5/2"><img src="mangas/Dengeki Daisy/5/Dengeki_Daisy_02_05_001[KRS].png" alt="" width="750" height="1200" class="picture" /></a>

Также уже готовый вариант предзагрузки реализован вот тут ссылка. Но выдрать не получилось к сожалению. Пути к файлам картинок имеют такую структуру сайт/manga/mangas/Имя_манги/Глава_манги/Список_изображений(отсортированы по алфавиту)

ingmar добавил 08.09.2011 в 13:37

Уважаемые форумчане, ну очень нужна помощь, уже перелопатил кучу js скриптов с гугла, но не получается и все тут.

У сайта, на котором предзагрузка реализована в исходном коде за это отвечает след. код:


<td><div id="image_frame"><img id="loading_manga_page" src="/themes/common/loading.gif" alt="manga_page" /></div><script type="text/javascript">
//<![CDATA[ if (parent.location.hash) var page = parseInt(parent.location.hash.substring(1));
else var page = parseInt('1');
var page_preload = parseInt('5');
var pages = {"pg_base":"mangas\/First Love MALISA\/001 - Love is Being Brave\/","pages":["01.png","02.png","03.png","04.png","05.png","06.png","07.png","08.png","09.png","10.png","11.png","12.png","13.png","14.png","15.png","16.png","17.png","18.png","19.png","20.png","21.png","22.png","23.png","24.png","25.png","26.png","27.png","28.png","29.png","30.png","31.png","32.png","33.png","34.png","35.png","36.png","37.png","38.png","39.png","40.png","41.png","42.png","43.png","44.png","45.png","46.png","47.png","credits.png","recruit.png"]}
var pg_base = pages.pg_base;
var pg_urls = pages.pages;
var img_url = [];
var page_max = pg_urls.length;
for (var i = 1; i <= page_max; i++) {
img_url = "/" + pg_base + pg_urls[i-1];
}

var next_chap = 'http://reader.imangascans.org/First_Love_MALISA/002';
var prev_chap = 'http://reader.imangascans.org/';

load(page);

//]]>
</script>

К слову исходники движка ридера у этого сайта и моего одни и те же.

ingmar
На сайте с 11.01.2009
Offline
111
#3

Все еще актуально, господа не проходите мимо, помогите, кто шарит. Спасибо.

maldivec
На сайте с 04.11.2008
Offline
160
#4

"помогите" != "сделайте все за меня"

Пишите в чем конкретно проблема, иначе в гугл.

ingmar
На сайте с 11.01.2009
Offline
111
#5
maldivec:
Пишите в чем конкретно проблема, иначе в гугл.

Есть папка с изображением со структурой комикс/глава_комикса/список_файлов(по алфавиту отсортированы). Вопрос. Как организовать на js предзагрузку этих файлов по мере просмотра пользователем картинок? Например он смотрит первую, а в это время подгружаются след. пять, дошел до 4 и опять пять подгрузились.

LEOnidUKG
На сайте с 25.11.2006
Offline
1762
#6

Сделайте 4 скрытых картинки и в них пихайте новые src, пусть прогружает пока браузер, а потом уже они будут из кэша грузиться.

✅ Мой Телеграм канал по SEO, оптимизации сайтов и серверов: https://t.me/leonidukgLIVE ✅ Качественное и рабочее размещение SEO статей СНГ и Бурж: https://getmanylinks.ru/ ✅ Настройка и оптимизация серверов https://getmanyspeed.ru/
rammlied
На сайте с 13.04.2011
Offline
56
#7

никак не могу понять зачем подгружать несколько картинок а не 2

ту на которую сейчас смотрят и следующую...

получайте средствами пгп массив урлов картинок, сортируйте в том порядке в котором нужно показывать, потом в ЖСе по какому то событию (если опираться на предоставленный пример, то по онклик) делаете картинку текущую в display:none а следующую dispaly:block + подгружаете следующую c display:none/

под подгружаете я подразумеваю innerHTML

делаю СДЛы, получаются ГСы )

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий