Форум программистов, компьютерный форум, киберфорум
PHP
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/8: Рейтинг темы: голосов - 8, средняя оценка - 5.00
1 / 1 / 1
Регистрация: 16.06.2009
Сообщений: 29

Фото галерея

28.02.2010, 13:02. Показов 1575. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте, вот такая вот проблема. сделал цикл вызова ссылок изображение из базы. и подключил скрипт увеличения изображения при клике. Так вот сама проблема. когда нажимаю увеличить изображение открываеться в новом пустом окне. а в примере на html все работает норма.

Мой цикл:
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
  
<script type="text/javascript" src="image_zoom.js"></script>
 <? 
$result = mysql_query("SELECT img_small,img_big FROM foto_gallery",$db);
$myrow = mysql_fetch_array($result);
   do 
   {     
echo ("<a href='{$myrow['img_big']}' onclick='this.href = 'javascript:void(0);';'>
<img src='{$myrow['img_small']}' border='0' onClick='new ImageExpander(this, '{$myrow['img_big']}');'>
</a>");
  }
  while ($myrow = mysql_fetch_array ($result));      
    ?>
Скрипт:
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
function ImageExpander(oThumb, sImgSrc)
{
    // store thumbnail image and overwrite its onclick handler.
    this.oThumb = oThumb;
    this.oThumb.expander = this;
    this.oThumb.onclick = function() { this.expander.expand(); }
    
    // record original size
    this.smallWidth = oThumb.offsetWidth;
    this.smallHeight = oThumb.offsetHeight; 
 
    this.bExpand = true;
    this.bTicks = false;
    
    // self organized list
    if ( !window.aImageExpanders )
    {
        window.aImageExpanders = new Array();
    }
    window.aImageExpanders.push(this);
 
    // create the full sized image.
    this.oImg = new Image();
    this.oImg.expander = this;
    this.oImg.onload = function(){this.expander.onload();}
    this.oImg.src = sImgSrc;
}
 
ImageExpander.prototype.onload = function()
{
    this.oDiv = document.createElement("div");
    document.body.appendChild(this.oDiv);
    this.oDiv.appendChild(this.oImg);
    this.oDiv.style.position = "absolute";
    this.oDiv.expander = this;
    this.oDiv.onclick = function() {this.expander.toggle();};
    this.oImg.title = "Click to reduce.";
    this.bigWidth = this.oImg.width;
    this.bigHeight = this.oImg.height;
    
    if ( this.bExpand )
    {
        this.expand();
    }
    else
    {
        this.oDiv.style.visibility = "hidden";
        this.oImg.style.visibility = "hidden";
    }
}
ImageExpander.prototype.toggle = function()
{
    this.bExpand = !this.bExpand;
    if ( this.bExpand )
    {
        for ( var i in window.aImageExpanders )
            if ( window.aImageExpanders[i] !== this )
                window.aImageExpanders[i].reduce();
    }
}
ImageExpander.prototype.expand = function()
{
    // set direction of expansion.
    this.bExpand = true;
 
    // set all other images to reduce
    for ( var i in window.aImageExpanders )
        if ( window.aImageExpanders[i] !== this )
            window.aImageExpanders[i].reduce();
 
    // if not loaded, don't continue just yet
    if ( !this.oDiv ) return;
    
    // hide the thumbnail
    this.oThumb.style.visibility = "hidden";
    
    // calculate initial dimensions
    this.x = this.oThumb.offsetLeft;
    this.y = this.oThumb.offsetTop;
    this.w = this.oThumb.clientWidth;
    this.h = this.oThumb.clientHeight;
    
    this.oDiv.style.left = this.x + "px";
    this.oDiv.style.top = this.y + "px";
    this.oImg.style.width = this.w + "px";
    this.oImg.style.height = this.h + "px";
    this.oDiv.style.visibility = "visible";
    this.oImg.style.visibility = "visible";
    
    // start the animation engine.
    if ( !this.bTicks )
    {
        this.bTicks = true;
        var pThis = this;
        window.setTimeout(function(){pThis.tick();},25);    
    }
}
ImageExpander.prototype.reduce = function()
{
    // set direction of expansion.
    this.bExpand = false;
}
ImageExpander.prototype.tick = function()
{
    // calculate screen dimensions
    var cw = document.body.clientWidth;
    var ch = document.body.clientHeight;
    var cx = document.body.scrollLeft + cw / 2;
    var cy = document.body.scrollTop + ch / 2;
 
    // calculate target
    var tw,th,tx,ty;
    if ( this.bExpand )
    {
        tw = this.bigWidth;
        th = this.bigHeight;
        if ( tw > cw )
        {
            th *= cw / tw;
            tw = cw;
        }   
        if ( th > ch )
        {
            tw *= ch / th;
            th = ch;
        }
        tx = cx - tw / 2;
        ty = cy - th / 2; 
    }
    else
    {
        tw = this.smallWidth;
        th = this.smallHeight;
        tx = this.oThumb.offsetLeft;
        ty = this.oThumb.offsetTop;
    }   
    // move 5% closer to target
    var nHit = 0;
    var fMove = function(n,tn) 
    {
        var dn = tn - n;
        if ( Math.abs(dn) < 3 )
        {
            nHit++;
            return tn;
        }
        else
        {
            return n + dn / 10;
        }
    }
    this.x = fMove(this.x, tx);
    this.y = fMove(this.y, ty);
    this.w = fMove(this.w, tw);
    this.h = fMove(this.h, th);
    
    this.oDiv.style.left = this.x + "px";
    this.oDiv.style.top = this.y + "px";
    this.oImg.style.width = this.w + "px";
    this.oImg.style.height = this.h + "px";
 
    // if reducing and size/position is a match, stop the tick  
    if ( !this.bExpand && (nHit == 4) )
    {
        this.oImg.style.visibility = "hidden";
        this.oDiv.style.visibility = "hidden";
        this.oThumb.style.visibility = "visible";
 
        this.bTicks = false;
    }
    
    if ( this.bTicks )
    {
        var pThis = this;
        window.setTimeout(function(){pThis.tick();},25);
    }
}
И пример с которого писал на HTML
HTML5
1
2
3
<a href="big.jpg" onclick="this.href = 'javascript:void(0);';">
<img src="small.jpg" border="0" onClick="new ImageExpander(this, 'big.jpg');">
</a>
Спасибо всем за подсказки!!
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
28.02.2010, 13:02
Ответы с готовыми решениями:

Фото галерея?
Вот решил создать на своём сайте фото галерею!! Проблема состойт в том что я понятие не имею как это сделать(((( Фотки закидываются через...

Галерея картинок
Нужен скрит, незнаю где взять. Скрипт или что это... для того что бы прогонять новинки кино в картинках. Добавил новое, она там...

Галерея на php
Хочу сделать фотогалерею. Нужен скрипт который сжимает фото. Допустим загружаемая фотка 1024х768, а после обработки скрипта она становилась...

2
 Аватар для ostgals
886 / 681 / 101
Регистрация: 23.01.2009
Сообщений: 1,582
28.02.2010, 15:10
В кавычках запутались..

PHP
1
2
3
echo ("<a href=\"{$myrow['img_big']}\" onclick=\"this.href = 'javascript:void(0);';\">
<img src=\"{$myrow['img_small']}\" border=\"0\" onClick=\"new ImageExpander(this, '{$myrow['img_big']}');\">
</a>");
0
1 / 1 / 1
Регистрация: 16.06.2009
Сообщений: 29
28.02.2010, 16:48  [ТС]
Цитата Сообщение от ostgals Посмотреть сообщение
В кавычках запутались..

PHP
1
2
3
echo ("<a href=\"{$myrow['img_big']}\" onclick=\"this.href = 'javascript:void(0);';\">
<img src=\"{$myrow['img_small']}\" border=\"0\" onClick=\"new ImageExpander(this, '{$myrow['img_big']}');\">
</a>");
Спасибо!! все работает... респект!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
28.02.2010, 16:48
Помогаю со студенческими работами здесь

Удаление пути к фото в базе и самого фото в дирректории одновременно.
Приветствую всех! Такая проблема: пользователь может загрузить фото, при этом оно ресайзится на два размера, например 150х100 и...

При нажатии на фото снизу оно замещало фото в окне сверху над ним
Здравствуйте подскажите кто сталкивался, как реализовать: при нажатии на фото снизу оно замещало фото в окне сверху над ним? Образец во...

Скрипт по загрузке фото не загружает больше 100 фото
if(isset($_POST) &amp;&amp; trim( $_POST ) != '' ) { mysqli_query($connection, &quot;INSERT INTO `foto` SET `title` =...

Наложение текста на фото при загрузке фото на сайт
я вот хочу на движке Discuz сделать так чтобы например я загружаю фото и на фото накладывается текст автоматический ссылка моего сайта как...

Галерея
Скрипт не отправляет изображения. В чём ошибка? &lt;? $ImgDir=&quot;/GALERY/img&quot;; // Каталог для хранения изображений ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru