Заменить id на class в функции (jquery)

Тема в разделе "JavaScript", создана пользователем sarkis, 23 окт 2014.

Модераторы: ZiX
  1. sarkis

    sarkis

    Регистр.:
    27 фев 2014
    Сообщения:
    249
    Симпатии:
    36
    Всем привет ..Вот кусок функции жКвери
    Код:
        function()
        {
            $('.windowOpen').bind(
                'click',
                function() {
                    if($('#window').css('display') == 'none') {
                        $(this).TransferTo(
                            {
                                to:'window',
                                className:'transferer2',
                                duration: 400,
                                complete: function()
                                {
                                    $('#window').show();
                                }
                            }
                        );
                    }
                    this.blur();
                    return false;
                }
            );
    вот html
    Код:
    <a href="" class="windowOpen">Открыть всплывающее окно 1</a>
    <div id="window">
        <div id="windowTop">
            <div id="windowTopContent">Пример окна</div>
            <img src="images/window_min.jpg" id="windowMin" />
            <img src="images/window_max.jpg" id="windowMax" />
            <img src="images/window_close.jpg" id="windowClose" />
        </div>
        <div id="windowBottom"><div id="windowBottomContent">&nbsp;</div></div>
        <div id="windowContent">
    test
        </div>
        <img src="images/window_resize.gif" id="windowResize" />
    </div>

    к примеру . у меня на странице несколько генерируется таких html и у каждого свой текст...Вопрос :
    Как в функции жквери изменить id на class ?
    интересует вот этот кусок кода (в нем прописан id=window)
    Код:
                                to:'window',
                                className:'transferer2',
                                duration: 400,
                                
                               
     
  2. vipTelnet

    vipTelnet Постоялец

    Регистр.:
    14 янв 2013
    Сообщения:
    134
    Симпатии:
    11
    Код:
    if($('#window').css('display') == 'none') {
        $(this).TransferTo(
            {
                to:'window',
                className:'transferer2',
                duration: 400,
                complete: function()
                {
                    $('#window').show();
                }
            }
        ).removeClass('className').attr('id','idName');
    }
     
  3. sarkis

    sarkis

    Регистр.:
    27 фев 2014
    Сообщения:
    249
    Симпатии:
    36

    немного не понял для чего нужно удаление класса ...
    Смотрите ,
    мне нужно ,чтобы эта функция
    Код:
    $(this).TransferTo(
            {
                to:'window',
                className:'transferer2',
                duration: 400,
                
              
                }
    реагировала на класс "window" , но сейчас она реагирует на id "window"
     
  4. vipTelnet

    vipTelnet Постоялец

    Регистр.:
    14 янв 2013
    Сообщения:
    134
    Симпатии:
    11
    Код:
    <a href="" class="windowOpen1">Открыть всплывающее окно 1</a>
    <div id="window1">
        <div id="windowTop">
            <div id="windowTopContent">Пример окна</div>
            <img src="images/window_min.jpg" id="windowMin" />
            <img src="images/window_max.jpg" id="windowMax" />
            <img src="images/window_close.jpg" id="windowClose" />
        </div>
        <div id="windowBottom"><div id="windowBottomContent">&nbsp;</div></div>
        <div id="windowContent">
    test
        </div>
        <img src="images/window_resize.gif" id="windowResize" />
    </div>
    Код:
            $('.windowOpen1').bind(
                'click',
                function() {
                    if($('#window1').css('display') == 'none') {
                        $(this).TransferTo(
                            {
                                to:'window1',
                                className:'transferer2',
                                duration: 400,
                                complete: function()
                                {
                                    $('#window').show();
                                }
                            }
                        );
                    }
                    this.blur();
                    return false;
                }
            );
     
    Последнее редактирование: 23 окт 2014
  5. sarkis

    sarkis

    Регистр.:
    27 фев 2014
    Сообщения:
    249
    Симпатии:
    36
    спасибо ..Частично разобрался ...теперь вылезла другая проблема ...К примеру
    Код:
    $i=1;
    while( тут условие вывода 2х ссылок из базы){
    <a href='' class='link$i'></a>
    <script> var id_advert=<?echo $i; ?>;</script>
    <script type="text/javascript" src="/script.js"></script>//обработчик
    $i++;
    }
    В script.js обрабатывается
    Код:
    $(document).ready(
        function()
        {
            $('.link'+id_advert).bind(
                'click',
                function() {
                        $('.window').show();
                    this.blur();
                    return false;
                }
            );
        
         
         
        }
    );
    в итоге , на один элемент клацаю - выскавивает сразу 2 окна , а на второй кликаю - вообще ничего не происходит ..Не могу понять ,в чем проблема...
    В фаербаге видно , что каждый класс со своей цифрой
     
  6. vipTelnet

    vipTelnet Постоялец

    Регистр.:
    14 янв 2013
    Сообщения:
    134
    Симпатии:
    11
    Дайте ссылку на Ваш проект в нете, так ни чего определенного Вам сказать не могу, нужно самому видеть код
     
  7. sarkis

    sarkis

    Регистр.:
    27 фев 2014
    Сообщения:
    249
    Симпатии:
    36
    блин , вот это сложно , т.к работаю на локальном хосте ..
    я попробую еще проще рассказать. т.к код я уже сам упростил до смехоты , а понять не могу ....


    Есть две ссылки из цикла (на самом деле намного больше), каждой из этих ссылок соответствует определенный текст , который должен появляться ......Пример :

    (тут я уже показываю готовый выходной файл .На самом деле тут должен быть цикл )
    Код:
    <a href='' class='link1'>ссылка1</a>
    <a href='' class='link2'>ссылка2</a>
    
    <div class='text1' style='display:none;'>Текст1</div>
    <div class='text2' style='display:none;'>Текст2</div>
    А вот код жквери
    Код:
    $(document).ready(
        function()
        {
            $('.link'+id_advert).bind(
                'click',
                function() {
                  
                       
                     $('.text'+id_advert).show();
                
                }
            );
         
        }
    );

    id_advert - это номер ,который добавляется в класс ссылки или блока с текстом
     
  8. vipTelnet

    vipTelnet Постоялец

    Регистр.:
    14 янв 2013
    Сообщения:
    134
    Симпатии:
    11
    Код:
    $(document).ready(
        function()
        {
            $('.link1').bind(
                'click',
                function() {
                 
                      
                     $('.text1').show();
               
                }
            );
            $('.link2').bind(
                'click',
                function() {
                 
                      
                     $('.text2').show();
               
                }
            );   
        }
    );
    добавьте этот Ваш js код в цикл что б он генерировал вот такой js код
     
  9. sarkis

    sarkis

    Регистр.:
    27 фев 2014
    Сообщения:
    249
    Симпатии:
    36
    я так и делаю ..Вот код из моего цикла :


    Код:
     <a href=''  class='windowOpen'.$row["id_advert"].' ' >$row["name_adv"]</a>
       <script> var id_advert=$row["id_advert"];</script>
       <script type="text/javascript" src="/templates/coolmini/moduls/doska/mtemplates/page/modal/script.js"></script>




    он выводит две ссылки , но в итоге, работает только последняя ссылка , которая срабатывает дважды
     
  10. sarkis

    sarkis

    Регистр.:
    27 фев 2014
    Сообщения:
    249
    Симпатии:
    36
    все ..Спасибо ..Записал код непосредственно в html в цикл .....