Все $IMAGE1..10$ при клике на одну картинку
Автор: tester-disru |
Дата: 10.02.2012 |
Просмотров: 1045 |

Хочу рассказать о том, как можно спокойно реализовать просмотр всех картинок загруженных (прям на сайт при добавлении статьи) видом:

Все это реализовать очень просто:
1) Открываем: панель управления/управление дизайном/страница материала и комментария к нему
2)После вставляем Скрипт:
Code
<script type="text/javascript">
function _bldCont(indx){
var bck=indx-1;var nxt=indx+1;
if (bck<0){bck = allEntImgs$ID$.length-1;}
if (nxt>=allEntImgs$ID$.length){nxt=0;}
var imgs='';
for (var i=0;i<allEntImgs$ID$.length;i++){var img=i+1;
if(allEntImgs$ID$[i][0].length<1){continue;}
if (i==indx){imgs += '<b class="pgSwchA">'+img+'</b> ';}
else {imgs += '<a class="pgSwch" href="javascript://" rel="nofollow" onclick="_bldCont('+i+');return false;">'+img+'</a> ';}
}
if (allEntImgs$ID$.length>1){imgs = '<a class="pgSwch" href="javascript://" rel="nofollow" onclick="_bldCont('+bck+');return false;">« Back</a> '+imgs+'<a class="pgSwch" href="javascript://" rel="nofollow" onclick="_bldCont('+nxt+');return false;">Next »</a> ';}
var hght = parseInt(allEntImgs$ID$[indx][2]); if ($.browser.msie) { hght += 28; };
_picsCont = '<div id="_prCont" style="position:relative;width:' + allEntImgs$ID$[indx][1] + 'px;height:' + hght.toString() + 'px;"><img alt="" border="0" width="' + allEntImgs$ID$[indx][1] + '" height="' + allEntImgs$ID$[indx][2] + '" src="' + allEntImgs$ID$[indx][0] + '"/><div align="center" style="padding:8px 0 5px 0;">'+imgs+'</div></div>';
new _uWnd('wnd_prv',"Скриншоты",10,10,{popup:1,waitimages:300000,autosizewidth:1,hideonresize:1,autosize:1,fadetype:1,align:'center',min:0,max:0,resize:1},_picsCont);
}
</script>
3) В любое место, где будет первая картинка - вставляем вызов кода:
4)Сразу после кода вызываем сами картинки:
Code
<script type="text/javascript">if (typeof(allEntImgs$ID$)!='undefined'){var ar=Math.floor(Math.random()*allEntImgs$ID$.length); document.write('<img alt="" title="Скриншоты" src="'+allEntImgs$ID$[ar][3]+'" width="'+allEntImgs$ID$[ar][4]+'" border="0" onclick="_bldCont(ar);" style="cursor:pointer;">');}</script>
Вот и все
Осталось только добавить новость:
1) Добавляем картинки:
2) Не вставляем их в вид полного сообщения (IMAGE1..10) иначе будут отображаться все image и еще в том месте куда вставили скрипт вывода тоже появится картинка, только первая самая - при клике на которую появится большая с возможностью перелистывания всех image в этой новости или статье.
3) Нажимаем добавить и любуемся 
|
| |
0 7
АНДРЕЙ (17.01.2011 17:51)
tester-disru. ооо!! спасибо этот скриптик мне и нужен был,спасибо
|
0
 Еще один вариант скрипта для всех картинок - при клике на любую будет вызываться большая картинка: Code <?if($IMGS_ARRAY_JS$)?>$IMGS_ARRAY_JS$ <script type="text/javascript">var allEntImgs=allEntImgs$ID$;</script> <script type="text/javascript" src="http://www.dis-design.ru/sklad/_showImgs.js"></script> <div id="siteimg$ID$"></div> $IMGS_ARRAY_JS$ <script> var html=''; for(i in allEntImgs$ID$) { var aImg=allEntImgs$ID$[i]; html+=(aImg[3] && aImg[3].length>0 ? '<a href="'+aImg[0]+'" onclick="showImgs('+i+');return false;"><img border="0" src="'+aImg[3]+'" style="padding:2px;"></a>' : '<img src="'+aImg[0]+'">'); } document.getElementById('siteimg$ID$').innerHTML=html; </script> </div> <?endif?>
|
0 5
АНДРЕЙ (13.01.2011 15:18)
Александр как этот код <div id="siteimg$ID$" align="center"></div> $IMGS_ARRAY_JS$ <script> var html=''; for(i in allEntImgs$ID$) { var aImg=allEntImgs$ID$[i]; html+=(aImg[3] && aImg[3].length>0 ? '<br><br><a target="blank" href="'+aImg[0]+'"><img src="'+aImg[3]+'" border="0" alt="$ENTRY_TITLE$"></a>' : '<br><br><img src="'+aImg[0]+'" border="0" alt="$ENTRY_TITLE$">'); } document.getElementById('siteimg$ID$').innerHTML=html; </script> переделать чтоб картинки были в горизонтальном положении???? И второй вопрос:возможно сделать чтоб при нажатии на любую из картинок вызывалось окно????Спасибо заранее
Ответ: Я в скриптах разбираюсь не очень - еще пока программирования на яве не касался. Но на счет картинки могу сказать, что легче ее наверное будет изначально загружать в горизонтальном положении и не париться со скриптом... На счет вызова окон для каждой картинки - посмотрите тут: blog.ucoz.ru/blog/cikl_quotdelaem_proekt_s_nuljaquot_ehtap_7_nastrojka_modulja_quotdoska_objavlenij quot/2009-09-30-103 Может что-то подойдет 
|
0 3
konkoord (20.09.2010 10:40)
Огромное спасибо за простое и понятное объяснение, скрипт работает. единственное, что хотелось бы дополнительно, что бы в статье выводились все превьюшки, а не одно случайное, но просмотр работал бы без изменений. может кто подскажет, как это можно реализовать на основании этого скрипта
|
0
 Code <div id="siteimg$ID$" align="center"></div> $IMGS_ARRAY_JS$ <script> var html=''; for(i in allEntImgs$ID$) { var aImg=allEntImgs$ID$[i]; html+=(aImg[3] && aImg[3].length>0 ? '<br><br><a target="blank" href="'+aImg[0]+'"><img src="'+aImg[3]+'" border="0" alt="$ENTRY_TITLE$"></a>' : '<br><br><img src="'+aImg[0]+'" border="0" alt="$ENTRY_TITLE$">'); } document.getElementById('siteimg$ID$').innerHTML=html; </script> Данный скрипт выводит уменьшенные размеры картинок и ссылки на оригиналы, либо оригинальные картинки без ссылок (в случае если оригиналы маленького размера). Оригиналы картинок будут открываться в новом окне, в качестве альтернативного текста картинки используется название темы, картинки выводятся друг под другом, позиционирование картинок происходит по центру. Вот такой еще могу предложить скрипт 
|
0 1
Kloffi (26.05.2010 12:55)
Хм интересно - обычно на Ucoze запрещено использовать $IMGS_ARRAY_JS$ в других блогах - но на удивление все работает :)
|
|
|
|