Модераторы: Sardar, Aliance
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> поиск тега img по htm-коду помогите! найти тег img и если он есть то... 
:(
    Опции темы
QRS
  Дата 1.2.2009, 16:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 16
Регистрация: 30.12.2008

Репутация: нет
Всего: нет



Подскажите каким скриптом можно сделать такое:

имеется слой: <div id="ComEnt"></div>

нужно: если внутри этого слоя появляется тег <img>, то  к этому тегу автоматически добавляется ссылка, которая откроет эту картинку в полном размере и в новом окне.

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

на старницу вписывается скрипт, который находит все теги <img> в указаном контейнере. далее по результатам работы этого скрипта, если есть <img>, то подключается следующая часть скрипта, которая делает из картинки ссылку.
Если же первый скрипт не обнаружил <img> то не происходит никаких действий.

Подскажите как это можно сделать? каким скриптом? или хотя бы от чего оттолкнуться? 

Заранее спасибо!

P.S. Изучать JS уже начал, но такое создать мне пока не под силу но очень надо...
PM MAIL   Вверх
bars80080
Дата 1.2.2009, 20:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прапор творюет
****
Награды: 1



Профиль
Группа: Завсегдатай
Сообщений: 12022
Регистрация: 5.12.2007
Где: Königsberg

Репутация: 44
Всего: 315



ну, это ты понапридумывал сказок."если появляется" - жутко расплывчато. img - либо есть, либо нет. если в какой-то момент появляется, то после этого запускаем проверку

выглядит примерно так:

Код

var el = document.getElementById('ComEnt').getElementsByTagName('img');
var ell = el.length;
for(var i = 0; i < ell; i++) {
    el[i].onclick = function(){showBigPic(this);};
}

и тут момент. какую большую картинку надо открыть? если это картинка по тому же адресу, но скажем только в другом каталоге, то в функцию showBigPic() надо написать какой-то парсер адреса картинки .src 
если же адрес какой-то другой, то его можно вставлять в саму img ввиде некоего атрибута. alt или title. но тогда возникает вопрос, почему сразу было при этом не вставить адрес, ссылку и прочая

ты знаешь, что <a href="adres1" target="_blank"><img src="adres1" /></a> откроет картинку в новом окне в полный рост?
PM MAIL WWW   Вверх
QRS
Дата 1.2.2009, 21:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 16
Регистрация: 30.12.2008

Репутация: нет
Всего: нет



Это я знаю.
Спасибо за ответ, уже хоть как то проясняться начинает... Да и ситуация немного изменилась, сейчас опишу.
Сказка в общем выросла вот из чего:

Есть форум. к сообщению добавляется комментарий ввиде картинки. Эта картинка и есть преславутый <img>.
ее добавляет обычный пользователь.
Картинка в ответе появляется размером не больше 120px так как стоит ограничение. но нажав на нее в новом окне открывается эта же картинка но реального размера.
эти две картинки (большая и маленькая) два разных файла на сервере. отличающиеся друг от друга только тем что к маленькой перед именем файла приписывается буква "a".

задача такая чтобы к имеющейся ссылке добавить вот что: 
<a id="pic" href="адрес большой картинки" class="effect" onclick="return hs.expand(this)">
 <img style="float:right;" src="адрес маленькой картинки" alt="увеличить"
 title="" height="120" width="100" /></a>

то что мне нужно добавить выделено жирным. но это должно добавляться в том случае если появляется тег img
PM MAIL   Вверх
bars80080
Дата 2.2.2009, 00:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прапор творюет
****
Награды: 1



Профиль
Группа: Завсегдатай
Сообщений: 12022
Регистрация: 5.12.2007
Где: Königsberg

Репутация: 44
Всего: 315



Цитата(QRS @  1.2.2009,  20:36 Найти цитируемый пост)
но это должно добавляться в том случае если появляется 

вот эта фраза мне в корне не понятна. что значит "если"? ты имеешь возможность покопаться в коде или нет? если да, то непонятно почему бы сразу не вставлять эти выделенные куски. ещё на сервере. если нет, то как ты собираешься вставить скрипты?


по сабжу. зачем id? тем более не вижу, чтобы он был уникальным
я б написал так:
Код

<a id="pic" href="адрес большой картинки" target="_blank" class="effect" onclick="showBigPic(this); return false;">
 <img style="float:right;" src="адрес маленькой картинки" alt="увеличить"
 title="" height="120" width="100" /></a>

Код

function showBigPic(x) {
    var adr = this.href;
    var path = adr.split('/');
    var pl = path.length;
    path[pl - 1] = path[pl - 1].slice(1);
    adr = path.join('');
    var nw = window.open('http://server.ru/viewer.php?adr=' + adr, '');
    return false;
}

где viewer.php - скрипт красивого окошка для просмотра, в нём уже подставляется адрес в картинку. кстати, всю эту дробилку адреса можно реализовать там же на серверной стороне. проще и эффективней
PM MAIL WWW   Вверх
QRS
Дата 2.2.2009, 00:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 16
Регистрация: 30.12.2008

Репутация: нет
Всего: нет



я имею доступ только к хтмл коду страницы и свойствам CSS описаным в отдельном файле. к кодам серера доступа у меня нет.
поэтому мне и нужен скрипт который при загрузке страницы определит есть ли в нем img, а потом если он есть добавит то что мне нужно...
Такое вообще возможно: с помощью JS дописать свойства какого либо хтмл тега?
PM MAIL   Вверх
bars80080
Дата 2.2.2009, 00:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прапор творюет
****
Награды: 1



Профиль
Группа: Завсегдатай
Сообщений: 12022
Регистрация: 5.12.2007
Где: Königsberg

Репутация: 44
Всего: 315



ну, вообще-то я уже приводил пример как дописать функцию на событие, свойства тоже не проблема:
.style.background = '#ffff00';
.className = 'effect';


Цитата(QRS @  1.2.2009,  23:48 Найти цитируемый пост)
я имею доступ только к хтмл коду страницы и свойствам CSS описаным в отдельном файле. к кодам серера доступа у меня нет.

знаешь, если ставят задачу, конечно можно изворачиваться. но я бы объяснил нанимателям или руководству студии, что стену дома можно покрасить беличьей кисточкой, но лучше пульверизатором
PM MAIL WWW   Вверх
QRS
Дата 2.2.2009, 01:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 16
Регистрация: 30.12.2008

Репутация: нет
Всего: нет



Цитата(bars80080 @  2.2.2009,  00:56 Найти цитируемый пост)
знаешь, если ставят задачу, конечно можно изворачиваться. но я бы объяснил нанимателям или руководству студии, что стену дома можно покрасить беличьей кисточкой, но лучше пульверизатором


Иногда объяснять бесполезно))))

Ладно, спасибо за помощь, кажется лед тронулся))) буду пытаться и пробовать. Если что то тут отпишусь
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | JavaScript: для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.0485 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.