Полезная информация

Заказывай стафф с атрибутикой Mozilla и... пусть все вокруг завидуют тебе! Быть уникальным - быть с Mozilla!

№105-08-2006 05:13:46

flaps
Участник
 
Группа: Members
Зарегистрирован: 04-09-2005
Сообщений: 122

Помогите написать javascript прячущий ссылку?

Помогите написать javascript прячущий ссылку?

Нужно, чтобы была ссылка с надписью "показать картинку". При клике на которую ссылка бы исчезала и на её место грузилась бы картинка.

Показ картинки делаю так :

Выделить код

Код:

<a HRef='javascript:document.images[image01].src="pi01.jpg"'>показать картинку</a>

А как удалить ссылку?

Отсутствует

 

№206-08-2006 00:34:31

AKS
webboy
 
Группа: Members
Откуда: Санкт-Петербург
Зарегистрирован: 12-12-2005
Сообщений: 366
Веб-сайт

Re: Помогите написать javascript прячущий ссылку?

можно попробовать

Выделить код

Код:

<a.... onClick="this.display='none'">...</a>

Могу ошибаться...


Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.6; en-US; rv:2.0b1) Gecko/20100630 Firefox/4.0b1

Отсутствует

 

№309-08-2006 20:05:48

drdaeman
Участник
 
Группа: Members
Зарегистрирован: 06-02-2006
Сообщений: 6

Re: Помогите написать javascript прячущий ссылку?

Выделить код

Код:

<script type="text/javascript">
/*<![CDATA*/
  function replaceWithImage(objLink, strURL) {
    var objContainer = objLink.parentNode;
    // Проверка на поддержку нужной функциональности DOM2
    if (objContainer && document.createElement && objContainer.replaceChild && objLink.getAttribute) {
      var objImage = document.createElement('img');
      if (objImage) {
        objImage.setAttribute('src', strURL);
        objImage.setAttribute('alt', objLink.hasAttribute('title') ? objLink.getAttribute('title') : '');
        objContainer.replaceChild(objLink, objImage);
        return false;
      }
    } else {
      // Костыль для старых браузеров, не поддерживающих DOM2, но реализующих innerHTML (IE5.x)
      if (objContainer.innerHTML) {
        var strAlt = '';
        if (objLink.title) { strAlt = objLink.title; }
        objContainer.innerHTML = '<img src="' + strURL + '" alt="' + strAlt + '" />';
        return false;
      }
    }
    return true;
  }
/*]]>*/
</script>

<div>
  <a href="URL такой же страницы но с картинкой (для пользователей без JS)" onclick="return replaceWithImage('URL картинки')">
</div>

Вместо <div> можно любой применимый по смыслу контейнер (параграф, для inline - span). Кроме ссылки в контейнере ничего быть не должно (иначе оно пропадет в старых браузерах).
Да, писалось с ходу прямо в форме ответа, поэтому могут быть опечатки или небольшие ошибки в мелочах, тестировать лень. :)

edit: Угу, как знал, будут ошибки. Как минимум - один return пропустил :) Fixed.

Отредактировано drdaeman (09-08-2006 20:08:48)

Отсутствует

 

№411-08-2006 00:24:35

Punk_UnDead
Участник
 
Группа: Members
Откуда: Макеевка(Украина)
Зарегистрирован: 29-05-2006
Сообщений: 613
Веб-сайт

Re: Помогите написать javascript прячущий ссылку?

drdaeman
костыль не костыль, а работает пока везде одинаково
в отличии от setAttribute который может не проканать

править код или же пользоваться исключительно объектную модель это дело автора
кстати сообщу, что мозила и осёл создадут разный код(тоесть содержимое innerHTML контейнера будет разным) не вздумайте удалять объекты через innerHTML можете попасть на интересные багофичи, только через DOM


это не просто аватара - это древний символ изгнания зла

Отсутствует

 

№511-08-2006 01:20:50

drdaeman
Участник
 
Группа: Members
Зарегистрирован: 06-02-2006
Сообщений: 6

Re: Помогите написать javascript прячущий ссылку?

в отличии от setAttribute который может не проканать

Да, согласен, лучше было бы:

Выделить код

Код:

if (objImage.setAttribute) {
  objImage.setAttribute('src', strURL);
  objImage.setAttribute('alt', objLink.hasAttribute('title') ? objLink.getAttribute('title') : '');
} else {
  objImage.src = strURL;
}

править код или же пользоваться исключительно объектную модель это дело автора

IMHO - лучше стандартное решение (потому что оно где уже работает там и будет поддерживаться в разумно обозримом будующем вне зависимости от идей разработчиков что из "нестандарта" держать, а что нет), а вот если оно оказывается недоступно - тогда известные "костыли".
Но так - да, кому как нравится, разумеется.

не вздумайте удалять объекты через innerHTML можете попасть на интересные багофичи, только через DOM

Большие конструкции с кучей всего - да, слышал что бывают проблемы. С одной ссылкой (как здесь) никогда не встречал, ни с добавлением ни с удалением. =/ Можно поподробнее?

Отсутствует

 

№611-08-2006 16:43:29

Punk_UnDead
Участник
 
Группа: Members
Откуда: Макеевка(Украина)
Зарегистрирован: 29-05-2006
Сообщений: 613
Веб-сайт

Re: Помогите написать javascript прячущий ссылку?

drdaeman

Большие конструкции с кучей всего - да, слышал что бывают проблемы. С одной ссылкой (как здесь) никогда не встречал, ни с добавлением ни с удалением. =/ Можно поподробне

я имел ввиду непосредственное удаление через правку innerHTML
а если просто заменить, проблем не будет
а вот например удалить третью ссылку - это уже вызовет некоторые проблемы


это не просто аватара - это древний символ изгнания зла

Отсутствует

 

№714-08-2006 17:53:28

Fili
OpenSuse user
 
Группа: Members
Откуда: Красноярск
Зарегистрирован: 19-02-2006
Сообщений: 515
Веб-сайт

Re: Помогите написать javascript прячущий ссылку?

Извиняюсь за офтопик, но тему отдельную создавать думаю бессысленно, поэтому решил сюда написать :)
Проблема с разметкой :
рисунок в Фотошопе делится на части и сохраняется как хтмл страница со ссылками на рисунке. У меня страничка на XHTML. Код вставляю, правлю и вижу следующее : между рисунками появляется отступ. Стоит закомментировать Doctype все становится нормально - выглядит как один рисунок. Пытался с помощью CSS исправить - не получается...
Будте так любезны, подскажите как исправить


~~~~~~~~~~~~~~~

Отсутствует

 

№814-08-2006 18:20:37

Punk_UnDead
Участник
 
Группа: Members
Откуда: Макеевка(Украина)
Зарегистрирован: 29-05-2006
Сообщений: 613
Веб-сайт

Re: Помогите написать javascript прячущий ссылку?

теги все закрыты где положено?
соответствие стандартам вообще наступает?


это не просто аватара - это древний символ изгнания зла

Отсутствует

 

№914-08-2006 19:47:41

Fili
OpenSuse user
 
Группа: Members
Откуда: Красноярск
Зарегистрирован: 19-02-2006
Сообщений: 515
Веб-сайт

Re: Помогите написать javascript прячущий ссылку?

Да, все путем. Исправил все ошибки,валидатор не жалуется..


~~~~~~~~~~~~~~~

Отсутствует

 

№1014-08-2006 21:41:00

Punk_UnDead
Участник
 
Группа: Members
Откуда: Макеевка(Украина)
Зарегистрирован: 29-05-2006
Сообщений: 613
Веб-сайт

Re: Помогите написать javascript прячущий ссылку?

дай код чтоли, или страничку в сети опубликуй, тогда и посмотрим


это не просто аватара - это древний символ изгнания зла

Отсутствует

 

№1115-08-2006 12:40:48

Punk_UnDead
Участник
 
Группа: Members
Откуда: Макеевка(Украина)
Зарегистрирован: 29-05-2006
Сообщений: 613
Веб-сайт

Re: Помогите написать javascript прячущий ссылку?

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

Выделить код

Код:

<img src="logo.png" alt="лого" style="display: block;" />

это не просто аватара - это древний символ изгнания зла

Отсутствует

 

№1220-08-2006 09:50:10

Fili
OpenSuse user
 
Группа: Members
Откуда: Красноярск
Зарегистрирован: 19-02-2006
Сообщений: 515
Веб-сайт

Re: Помогите написать javascript прячущий ссылку?

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

style="display: block

Типа пишешь силь такой и все становится как надо?


~~~~~~~~~~~~~~~

Отсутствует

 

№1320-08-2006 12:00:41

AKS
webboy
 
Группа: Members
Откуда: Санкт-Петербург
Зарегистрирован: 12-12-2005
Сообщений: 366
Веб-сайт

Re: Помогите написать javascript прячущий ссылку?

... style="display: block;" ...

Это же по-умолчанию... Какие проблемы с этим?


Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.6; en-US; rv:2.0b1) Gecko/20100630 Firefox/4.0b1

Отсутствует

 

№1420-08-2006 13:46:59

Punk_UnDead
Участник
 
Группа: Members
Откуда: Макеевка(Украина)
Зарегистрирован: 29-05-2006
Сообщений: 613
Веб-сайт

Re: Помогите написать javascript прячущий ссылку?

AKS
по умолчанию для картинки inline или ты не знал?
подозреваю это потому, что резервируется место для того, что будет после картинки
а ещё есть вариант пхать всё в фон


это не просто аватара - это древний символ изгнания зла

Отсутствует

 

Board footer

Powered by PunBB
Modified by Mozilla Russia
Copyright © 2004–2020 Mozilla Russia GitHub mark
Язык отображения форума: [Русский] [English]