X   Сообщение сайта
(Сообщение закроется через 3 секунды)



 

Здравствуйте, гость (

| Вход | Регистрация )

Открыть тему
Тема закрыта
> Как сделать чтобы 'var' отмечал не только jpg, но и другие графические файлы?, Расширение файлов через параметр 'var'
kolesgan
kolesgan
Topic Starter сообщение 6.1.2011, 22:58; Ответить: kolesgan
Сообщение #1


Есть код фотогалереи, кусочек кода

<script type="text/javascript">
var imgid = 'image';
var imgdir = 'fullsize';
var imgext = '.jpg';
var thumbid = 'thumbs';
var auto = true;
var autodelay = 5;
</script>
<script type="text/javascript" src="slide.js"></script></td>

как сделать чтобы 'var' отмечал файл, не только jpg, еще gif и еще некоторые графические файлы
0
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
matroskin8
matroskin8
сообщение 6.1.2011, 23:40; Ответить: matroskin8
Сообщение #2


Это логичнее спрашивать у автора скрипта. Лучше выложить весь скрипт - тогда можно будет посмотреть и что-то посоветовать.
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
kolesgan
kolesgan
Topic Starter сообщение 6.1.2011, 23:46; Ответить: kolesgan
Сообщение #3


<div id="gallery">
<div id="imagearea">
<div id="image">
<a href="java script:slideShow.nav(-1)" class="imgnav " id="previmg"></a>
<a href="java script:slideShow.nav(1)" class="imgnav " id="nextimg"></a> </div>
</div>
<div id="thumbwrapper">
<div id="thumbarea">
<ul id="thumbs"><? $result1 = mysql_query("SELECT * FROM gallery WHERE cat=$id and dostup=1",$db);
if (!$result1)
{
echo "<p>Запрос на выборку данных из базы не прошел. Напишите об этом администратору <br> <strong>Код ошибки:</strong></p>";
exit(mysql_error());
}
if (mysql_num_rows($result1) > 0)
{
$myrow1 = mysql_fetch_array($result1);
do
{
printf ("<li value='%s'><img src='fullsize/%s' height='100'></li>",$myrow1["id"],$myrow1["img"]);
}
while ($myrow1 = mysql_fetch_array($result1));
}
else
{
echo "<p>Информация по запросу не может быть извлечена в таблице нет записей.</p>";
exit();
}
?> </ul>
</div>
</div>
</div>

<script type="text/javascript">
var imgid = 'image';
var imgdir = 'fullsize';
var imgext = '.jpg';
var thumbid = 'thumbs';
var auto = true;
var autodelay = 5;
</script>
<script type="text/javascript" src="slide.js"></script>

Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
matroskin8
matroskin8
сообщение 6.1.2011, 23:57; Ответить: matroskin8
Сообщение #4


Это не совсем то. Имелось в виду код скрипта (slide.js), а не код страницы, чтобы можно было посмотреть его в действии, ну и попробовать изменить под наши нужды. Желательно просто дать ссылку на страницу с работающим скриптом.
А почему не использовать lightbox или что-то подобное? Там нет проблем с допустимыми расширениями - можно и jpg, и gif...
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
kolesgan
kolesgan
Topic Starter сообщение 7.1.2011, 14:11; Ответить: kolesgan
Сообщение #5


Вот этот файл
var slideShow=function(){
var bxs,bxe,fxs,fxe,ys,ye,ta,ia,ie,st,ss,ft,fs,xp,yp,ci,t,tar,tarl;
ta=document.getElementById(thumbid); ia=document.getElementById(imgid);
t=ta.getElementsByTagName('li'); ie=document.all?true:false;
st=3; ss=3; ft=10; fs=5; xp,yp=0;
return{
init:function(){
document.onmousemove=this.pos; window.onresize=function(){setTimeout("slideShow.lim()",500)};
ys=this.toppos(ta); ye=ys+ta.offsetHeight;
len=t.length;tar=[];
for(i=0;i<len;i++){
var id=t[i].value; tar[i]=id;
t[i].onclick=new Function("slideShow.getimg('"+id+"')");
if(i==0){this.getimg(id)}
}
tarl=tar.length;
},
scrl:function(d){
clearInterval(ta.timer);
var l=(d==-1)?0:(t[tarl-1].offsetLeft-(ta.parentNode.offsetWidth-t[tarl-1].offsetWidth)+10)
ta.timer=setInterval(function(){slideShow.mv(d,l)},st);
},
mv:function(d,l){
ta.style.left=ta.style.left||'0px';
var left=ta.style.left.replace('px','');
if(d==1){
if(l-Math.abs(left)<=ss){
this.cncl(ta.id); ta.style.left='-'+l+'px';
}else{ta.style.left=left-ss+'px'}
}else{
if(Math.abs(left)-l<=ss){
this.cncl(ta.id); ta.style.left=l+'px';
}else{ta.style.left=parseInt(left)+ss+'px'}
}
},
cncl:function(){clearTimeout(ta.timer)},
getimg:function(id){
if(auto){clearTimeout(ia.timer)}
if(ci!=null){
var ts,tsl,x;
ts=ia.getElementsByTagName('img'); tsl=ts.length;x=0;
for(x;x<tsl;x++){
if(ci.id!=id){var o=ts[x]; clearInterval(o.timer); o.timer=setInterval(function(){slideShow.fdout(o)},fs)}
}
}
if(!document.getElementById(id)){
var i=document.createElement('img');
ia.appendChild(i);
i.id=id; i.av=0; i.style.opacity=0;
i.style.filter='alpha(opacity=0)';
i.src=imgdir+'/'+id+imgext;
}else{
i=document.getElementById(id); clearInterval(i.timer);
}
i.timer=setInterval(function(){slideShow.fdin(i)},fs);
},
nav:function(d){
var c=0;
for(key in tar){if(tar[key]==ci.id){c=key}}
if(tar[parseInt©+d]){
this.getimg(tar[parseInt©+d]);
}else{
if(d==1){
this.getimg(tar[0]);
}else{this.getimg(tar[tarl-1])}
}
},
auto:function(){ia.timer=setInterval(function(){slideShow.nav(1)},autodelay*1000
)},
fdin:function(i){
if(i.complete){i.av=i.av+fs; i.style.opacity=i.av/100; i.style.filter='alpha(opacity='+i.av+')'}
if(i.av>=100){if(auto){this.auto()}; clearInterval(i.timer); ci=i}
},
fdout:function(i){
i.av=i.av-fs; i.style.opacity=i.av/100;
i.style.filter='alpha(opacity='+i.av+')';
if(i.av<=0){clearInterval(i.timer); if(i.parentNode){i.parentNode.removeChild(i)}}
},
lim:function(){
var taw,taa,len; taw=ta.parentNode.offsetWidth; taa=taw/4;
bxs=slideShow.leftpos(ta); bxe=bxs+taa; fxe=bxs+taw; fxs=fxe-taa;
},
pos:function(e){
xp=ie?event.clientX+document.documentElement.scrollLeft:e.pageX;
yp=ie?event.clientY+document.documentElement.scrollTop:e.pageY;
if(xp>bxs&&xp<bxe&&yp>ys&&yp<ye){
slideShow.scrl(-1);
}else if(xp>fxs&&xp<fxe&&yp>ys&&yp<ye){
slideShow.scrl(1);
}else{slideShow.cncl()}
},
leftpos:function(t){
var l=0;
if(t.offsetParent){
while(1){l+=t.offsetLeft; if(!t.offsetParent){break}; t=t.offsetParent}
}else if(t.x){l+=t.x}
return l;
},
toppos:function(t){
var p=0;
if(t.offsetParent){
while(1){p+=t.offsetTop; if(!t.offsetParent){break}; t=t.offsetParent}
}else if(t.y){p+=t.y}
return p;
}
};
}();

window.onload=function(){slideShow.init(); slideShow.lim()};

Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
matroskin8
matroskin8
сообщение 7.1.2011, 20:31; Ответить: matroskin8
Сообщение #6


Так вам вряд ли помогут... Я просил недаром:
Желательно просто дать ссылку на страницу с работающим скриптом.

Это для того, чтобы не гадать как работает скрипт и как с ним работать (для этого и пишутся файлы типа "read me"). Если включить "гадалку", то в скрипте есть строка:
i.src=imgdir+'/'+id+imgext;

которая формирует путь к картинке. Название картинки, я так понял, вытаскивается из базы и в базе оно лежит без расширения. Попробуй добавить расширение к имени картинок и в скрипте изменить строку выше на эту:
i.src=imgdir+'/'+id;

Если не получится, то вряд ли смогу помочь без знания того, как работает скрипт и как он подключается - для этого, как я говорил, нужна страница с примером работающего скрипта или инструкция по его использованию.
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
ZiTosS
ZiTosS
сообщение 19.1.2011, 12:16; Ответить: ZiTosS
Сообщение #7


Ох и парашный скрипт... Где вы такие находите? Сейчас есть куча галерей на фреймворках в 100 раз красивее... Не понимаю, почему автор привязался к собственным названиям файлов с id, так же он в скрипте на лету составляет путь до картинки, ох как он не практичен... Даже разбираться не хочется, извиняйте.
Скрипт ужасен, он переписывает изначальные пути по новой, в соответствии с атрибутом value у li, окружающего картинку. Используются глобальные переменные и т.д. Как здесь учесть расширение... Начал изменять, но понял, что сюда с расширениями лучше не лезть. Не буду говорить ничего плохого про автора, но это одноразовый скрипт.

matroskin8, картинки то все с расширением идут... Просто автор намеренно при добавлении текущего слайда обрубает все связи с элементами в li и зачем-то формирует названия ссылаясь на id.

P.s.: из названия темы ничего не ясно. Называйте темы внятно.

Замечание модератора:
Эта тема была закрыта автоматически ввиду отсутствия активности в ней на протяжении 100+ дней.
Если Вы считаете ее актуальной и хотите оставить сообщение, то воспользуйтесь кнопкой
или обратитесь к любому из модераторов.
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Открыть тему
Тема закрыта
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0


Свернуть

> Похожие темы

  Тема Ответов Автор Просмотров Последний ответ
Горячая тема (нет новых ответов) Dao.AD: пуши, попсы и не только! ТОП монетизация и арбитраж. | Акция 100 % отчисления!
83 Daopush 25927 Вчера, 23:19
автор: c4p1t4l15t
Открытая тема (нет новых ответов) Большие ставки для кликов в Я.Директ. Как удешевить?
2 rownong27 1121 26.3.2024, 14:13
автор: knezevolk
Открытая тема (нет новых ответов) Как вы бросили работу и перешли на заработок с сайтов?
12 uahomka 2291 25.3.2024, 6:52
автор: Skyworker
Открытая тема (нет новых ответов) Кто где хранит файлы? И какой объем?
просто интересно
19 mark2013 1991 25.3.2024, 6:42
автор: Skyworker
Открытая тема (нет новых ответов) Как отозвать банковский платеж фрилансеру?
28 metvekot 3918 25.3.2024, 6:34
автор: Skyworker


 



RSS Текстовая версия Сейчас: 29.3.2024, 5:09
Дизайн