Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 18.12.2009, 18:42
Новичок на форуме
Отправить личное сообщение для Lukas Посмотреть профиль Найти все сообщения от Lukas
 
Регистрация: 18.12.2009
Сообщений: 2

как заставить функцию JS понимать названия с номерами по порядку?
Сразу прошу прощения за, скорее всего, неправильно сформулированный вопрос...

Использую на сайте скрипт увеличения картинок на основе Jquery.

<HEAD><META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><TITLE>zoomi</TITLE>
<SCRIPT type="text/javascript" src="./zoomi_files/jquery.pack.js"></SCRIPT>
<SCRIPT type="text/javascript" src="./zoomi_files/zoomi.js"></SCRIPT>
<SCRIPT type="text/javascript">

// <!-- Examples of dynamically calling zoomi -->
$(function(){

  $('#zoomme img').zoom1().click(function(){
    $(this).zoom2().fadeIn().click(function(){
      $(this).hide(); return false; })
    .end().parent().addClass('red'); return false; });
});

</SCRIPT>
</HEAD><BODY>

<!-- Dynamically attach zoomi -->
<A id="zoomme" href="#" title="Click me to toogle zoomi">
<IMG src="./zoomi_files/sexy.jpg" alt="http://www.sunsean.com/zoomi/sexy.jpg">
</A>

<A id="zoomme" href="#" title="Click me to toogle zoomi">
<IMG src="./zoomi_files/sexy.jpg" alt="http://www.sunsean.com/zoomi/sexy.jpg">
</A>
</BODY>


Не получается заставить вторую картинку тоже увеличиваться... Получается только, если во втором случае заменить <A id="zoomme" на <A id="zoomme2" и изменить вот так сам скрипт:
<SCRIPT type="text/javascript">

$(function(){

  $('#zoomme img').zoom1().click(function(){
    $(this).zoom2().fadeIn().click(function(){
      $(this).hide(); return false; })
    .end().parent().addClass('red'); return false; });

  $('#zoomme2 img').zoom1().click(function(){
    $(this).zoom2().fadeIn().click(function(){
      $(this).hide(); return false; })
    .end().parent().addClass('red'); return false; });
});


Вопрос: как заставить функцию понимать названия с номерами по порядку? Или выход один - определять для каждого изображения новое имя функции?

Последний раз редактировалось Lukas, 19.12.2009 в 12:45.
Ответить с цитированием
  #2 (permalink)  
Старый 18.12.2009, 19:17
Аватар для e1f
e1f e1f вне форума
Профессор
Отправить личное сообщение для e1f Посмотреть профиль Найти все сообщения от e1f
 
Регистрация: 03.04.2009
Сообщений: 1,263

Навскидку, как-то так:
$('img').each(function() {
    $(this).zoom1().click(function() {
        $(this).zoom2().fadeIn().click(function() {
            $(this).hide();
            return false;
        }).end().parent().addClass('red');

        return false;
    });
});

Возможно, сработает и без each, это уже зависит от реализации плагина zoomi
Ответить с цитированием
  #3 (permalink)  
Старый 19.12.2009, 13:01
Новичок на форуме
Отправить личное сообщение для Lukas Посмотреть профиль Найти все сообщения от Lukas
 
Регистрация: 18.12.2009
Сообщений: 2

Не работает...

Вот странички с примером:
zoomi.zip

Может что-нибудь еще придумаете?

На моей странице таких изображений штук 50 и я для каждого прописываю новую функцию Zoome#, где # - номер по порядку, но это увеличивает размер страницы...
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Вставка блока php в js...Как сделать? reup Общие вопросы Javascript 2 30.07.2009 11:02
js файл(незнаю как запустить функцию) Temchik Opera, Safari и др. 6 20.07.2009 11:49