Всем привет!
я скачал галерею AutoBoss, по функциям она самая подходящая из всех перепробованных галерей, если кто знает подобную и лучше прошу скинуть название!
Суть в том что я не могу изменить код что бы скрипт работал так как нужно, проблема заключается в открытии картинок, в общем..
нужно сделать что бы при тыкании на большую картинку открывалась огромная, картинка оригинального размера, но это я сделал, проблема в том, при нажатии "View full Size" открывается с первой картинки, тоесть slideshow.php?id=2 и там уже кликаешь < Назад Вперёд >
и дело в том что это не ID картинки, это лиж ID созданного наименования с картинками!
Нужно сделать так, что бы при нажатии на большую картинку или "View full Size" открывалась та картинка которая на данный момент в окошке, тоесть средних размеров, и на её кликание открывалась такая-же огромная картинка, а не первая добавленная, надеюсь объяснил более менее понятно, если что спрашивайте!
вот код:
PHP |
<?php if($row[images]) { if($row[images] > 1) echo ""; echo "<img class='none' name='large' src='images/$image_set[0]' alt=''/>"; echo "</a><p style='text-align:center;margin:5px 0;padding:0;'><a href=\"javascript:new_window('slideshow.php?id=$_GET[id]', '900', '700');\">View full size</p>"; // if there is more than one image, display the others as thumbnails if($row[images] > 1) { echo "<table border='0' cellpadding='0' cellspacing='0'>"; echo "<tr>"; $n = 1; foreach($image_set as $image) { echo "<td style='padding-top:10px;' width='130' valign='top'>"; echo "<a href=\"javascript:swap('large', '$image');\"><img class='none' src='thumbs/$image' alt=''/></a>"; echo "</td>"; if(!($n % 3) && $n < count($image_set)) echo "</tr><tr>"; $n++; } echo "</tr>"; echo "</table>"; } } else { echo "<img src='common/no-photo-large.jpg' alt=''/>"; } ?> </font> </td> <td width='20'><div style='width:20px;'></div></td> <td width='270' valign='top'> <table class='info' width='270' border='0' cellpadding='0' cellspacing='0' id="table40"> <?php // general information echo "<tr><td class='title' colspan='2' style='background-color: #5b4f4f'>"; if($row[model]) echo $row[model]." "; echo "$row[make]</td></tr>"; if($row[cond]) echo "<tr><td>ID:</td><td>$row[cond]</td></tr>"; if($row[engine]) echo "<tr><td>Year:</td><td>$row[model_year]</td></tr>"; echo "</td></tr>";
if($row[engine]) echo "<tr><td>Paint:</td><td>$row[engine]</td></tr>";
if($row[ebay_url]) echo ""; elseif($row[exterior]) echo "<tr><b><td><b>Price:</b></td><td><b>".($row[exterior])."</b></td></tr>"; elseif($row[price_alt]) echo "<tr><td>Price:</td><td>$row[price_alt]</td></tr>"; else echo "<tr><td>Price:</td><td>Call for Price</td></tr>"; if($row[sale]) echo "<tr><td>Sale Price:</td><td><span class='success'>".$conf[currency].number_format($row[sale])."</span></td></tr>"; // dealership information if($conf[show_dealer]) { echo "<tr><td colspan='2'><hr/></td></tr>"; echo "<tr><td colspan='3'>".nl2br($row[description])."</td></tr>"; if($location[address]) { echo "<tr>"; echo "<td class='label'>Address:</td>"; echo "<td>"; echo $location[address]."<br/>"; if($location[address2]) echo $location[address2]."<br/>"; if($location[city]) echo $location[city]; if($location[city] && $location[state]) echo ", "; if($location[state]) echo $location[state]; if($location[city] || $location[state]) echo "<br/>"; if($location[zip]) echo $location[zip]."<br/>"; if($location[country]) echo $location[country]; echo "</td>"; echo "</tr>"; } } // salesperson information if($user[contact]) { }
|
вот тут дэмо
скрипта:
http://www.curve2.com/demos/AutoBoss3/show...rt=added%20DESCЯ уже обсуждал эту тему на другом
форуме но вопрос до конца так и не решили, вот что писали на
форуме:
Стало понятнее, уточняю алгоритм.
Параметр id=$_GET[id], передаваемый в slideshow.
php, сохраняем. Это не номер картинки, которую надо показать в отдельном окне, а группа картинок. Из этой группы картинок сначала показывается всегда первая. В окне можно перейти на следующую/предыдущую или показать в цикле, ведь передана группа картинок. Чтобы slideshow.
php показывал не первую, а текущую картинку, надо дополнительно передать в
скрипт название этой картинки:
PHP |
javascript:new_window('slideshow.php?id=$_GET[id]'+'&begpic='+document[target].src, '900', '700'); |
Мы ввели новый параметр begpic, но скрипт slideshow.php еще не понимает этот параметр. Теперь надо смотреть этот скрипт и добавлять в него эту функциональность.
___________________________________________
Далее я выставляю код slideshow.php:
PHP |
<script type='text/javascript'>
var photos = new Array(<?php echo "'".implode("','", $image_set)."'"; ?>); var start = 0; // array index of first slide var end = <?php echo $row[images]-1; ?>; // array index of last slide var current = start; var doplay = true; // do not play show automatically
// skip to first slide function first() { current = 0; change(); }
// advance to next slide function previous() { current -= 1; if(current < start) current = end; // skip to last slide change(); }
// go back to previous slide function next() { current += 1; if(current > end) current = start; // skip to first slide change(); }
// skip to last slide function last() { current = end; change(); }
// change slide according to value of current function change() { document.photo.src = 'enlarge/' + photos[current]; }
// play automatic slideshow function play() { if(doplay == true) { next(); setTimeout(play, 2500); // call play() in 2.5 seconds } }
// pause slideshow function pause() { doplay = false; }
</script> </head>
<body>
<div id='container'> <?php require 'modules/module-slideshow.php'; |
и как теперь сюда вставить нужную функцию??
очень прошу вашей помощи!!!
Спустя 3 дня, 8 часов, 19 минут, 24 секунды (17.05.2009 - 22:45) Lex написал(а):
Переменной start передай номер изображения
var photos = new Array(<?php echo "'".implode("','", $image_set)."'"; ?>);
var start = 0; // array index of first slide
тогда будет начинаться с твоего изображения