[JavaScript, AJAX] Задай вопрос, получи ответ

Discussion in 'PHP' started by banned, 9 Jun 2007.

Thread Status:
Not open for further replies.
  1. scanislav

    scanislav Elder - Старейшина

    Joined:
    25 Jun 2010
    Messages:
    87
    Likes Received:
    22
    Reputations:
    31
    Вариант 1. Подождать выхода Ie10
    Вариант 2. Воспользоваться https://github.com/balupton/History.js
     
  2. Kiks

    Kiks New Member

    Joined:
    22 Dec 2010
    Messages:
    0
    Likes Received:
    0
    Reputations:
    0
    Ребят, может кто помочь настроить AJAX для модуля Cherry Picker?

    За разумную плату.
     
  3. min7

    min7 Elder - Старейшина

    Joined:
    3 Sep 2005
    Messages:
    117
    Likes Received:
    85
    Reputations:
    11
    Подскажите пожалуйста, как сделать, чтобы при нажатии на любую из картинок, исчезали обе картинки в классе 'like_buttons'?
    PHP:
    <div class='like_buttons'>                             
    <a id='<?php echo $mes_id?>' name='up'>                                 
       <img src='http://blabla.com/thumbup.png'/>
    </a>                             
    <a id='<?php echo $mes_id?>' name='down' >                             
       <img src='http://blabla.com/thumbdown.png'/>
    </a>                         
    </div>
     
  4. GRRRL Power

    GRRRL Power Elder - Старейшина

    Joined:
    13 Jul 2010
    Messages:
    823
    Likes Received:
    185
    Reputations:
    84
    Ну, во-первых, вот так лучше писать:
    PHP:
    <div class='like_buttons' id='like_buttons'>                             
    <a id='<?=$mes_id?>' name='up'>                                 
       <img src='http://blabla.com/thumbup.png'/>
    </a>                             
    <a id='<?=$mes_id?>' name='down' >                             
       <img src='http://blabla.com/thumbdown.png'/>
    </a>                         
    </div>
    А скрыть обе картинки:
    PHP:
    //Добавили id к div'у в коде выше
    document.getElementById'like_buttons' ).style.display "none";

    //или - если требуется сделать невидимым, но при том, чтобы div сохранил свои границы
    document.getElementById'like_buttons' ).style.visibility "hidden";
     
    #3164 GRRRL Power, 2 Oct 2011
    Last edited: 2 Oct 2011
    1 person likes this.
  5. min7

    min7 Elder - Старейшина

    Joined:
    3 Sep 2005
    Messages:
    117
    Likes Received:
    85
    Reputations:
    11
    Благодарю.
     
  6. krypt3r

    krypt3r Elder - Старейшина

    Joined:
    27 Apr 2007
    Messages:
    1,507
    Likes Received:
    389
    Reputations:
    101
    PHP:
    <?=$mes_id=?>
    GRRRL Power, плохой вы совет даете. Ваш код нарушает сразу два пункта "Coding Standard for PHP"
     
    1 person likes this.
  7. GRRRL Power

    GRRRL Power Elder - Старейшина

    Joined:
    13 Jul 2010
    Messages:
    823
    Likes Received:
    185
    Reputations:
    84
    Про "short output tag" на официальном сайте Zend ничего не сказано. Относится ли такой тип тегов (<?=expr?>) к классическим "short tags", которые они имеют в виду, я не знаю. Даже если относится, то интересно, каким образом они обосновывают такой запрет - в интернете не нашел.

    Вот тут вот интересный материал: http://www.bin-co.com/php/articles/using_php_short_tags.php
     
    #3167 GRRRL Power, 2 Oct 2011
    Last edited: 2 Oct 2011
  8. A1exx

    A1exx New Member

    Joined:
    8 Feb 2009
    Messages:
    24
    Likes Received:
    4
    Reputations:
    0
    Здравствуйте,нужна помощь по javascript
    Необходимо подсветить пункт меню,если ты в нём находишься,ну то есть чтобы пользователь знал где он находится...
    Меню вот такого типа:
    Code:
     div id="catalog1">
            <h2 class="catalog">
                                КАТАЛОГ</h2>
    							 <ul class="rightmenu">
                <li class="blin"  ><a href="#22" onClick="dolbanayapodcvetka()">Офисная мебель для персонала</a></li>
                <li class="blin" ><a href="#1" onClick="dolbanayapodcvetka()">Кабинеты руководителя</a></li>
                <li class="blin" ><a href="#112" >Президент кабинеты</a></li>
                <li class="blin" ><a href="#1183" >Офисные кресла для персонала</a></li>
                <li class="blin" ><a href="#114"  >Офисные кресла для посетителей</a></li>
                <li class="blin" ><a href="#1715"  >Офисные кресла для руководителей</a></li>
                <li class="blin" ><a href="#1516"  >Мебель для переговорных</a></li>
                <li class="blin" ><a href="#1117" >Мебель для приёмных</a></li>
                <li class="blin" ><a href="#118"  >Офисные перегородки</a></li>
                <li class="blin" ><a href="#19"  >Мебель для конференц-залов <br/>и учебных центров</a></li>
                <li class="blin" ><a href="#100"  >Аксессуары</a></li>
                <li class="blin" ><a href="#1115" >Мягкая мебель</a></li>
            </ul>
        </div>
    Есть скрипт,но почему-то он на предпоследнем шаге не хочет работать...
    Вот его код:
    Code:
    function dolbanayapodcvetka(){
     var tags=document.getElementsByTagName("li");
     var i
      for(i in tags){
        if(tags[i].className.match(/\bblin\b/)){
    	
            if(document.location.href==tags[i].firstChild.href){
                tags[i].className += " light";
    			
            }
        }
      }
    }
    где blin class моего меню...
    Заранее спасибо...
     
  9. Гаврила

    Гаврила Elder - Старейшина

    Joined:
    24 Oct 2005
    Messages:
    273
    Likes Received:
    89
    Reputations:
    17
    Реально ли осуществить на javascript?
    При заходе на данные URL нужно выдернуть из адресной строки параметр id и присвоить каждому параметру уникальный редирект на другой URL.
    Сам скрипт нужно подключить к index.html без параметра естественно.
     
    #3169 Гаврила, 4 Oct 2011
    Last edited: 4 Oct 2011
  10. XopoIII

    XopoIII Elder - Старейшина

    Joined:
    29 Oct 2007
    Messages:
    386
    Likes Received:
    30
    Reputations:
    0
    2 A1exx, ну можете просто не брать готовые скрипты выложенные в просторах рунета (если не понимаете хи) и попробовать самому написать

    вам будет проще с jquery _http://api.jquery.com/addClass/ _http://api.jquery.com/removeClass/

    или другими либами..

    а если на голом js то сначала удаляйте с предыдущих пунктов light, а потом уже подставляйте
     
  11. Melfis

    Melfis Elder - Старейшина

    Joined:
    25 Apr 2011
    Messages:
    505
    Likes Received:
    105
    Reputations:
    53
    Code:
    var id = location.href.match(/id=(\d+)/)[1];
    location.href = "http://someSite.com/index.php?param=" + id;
     
  12. Гаврила

    Гаврила Elder - Старейшина

    Joined:
    24 Oct 2005
    Messages:
    273
    Likes Received:
    89
    Reputations:
    17
    Реально ли осуществить на javascript?
    При заходе на данные URL нужно выдернуть из адресной строки параметр id и присвоить каждому параметру уникальный редирект на другой URL.
    Сам скрипт нужно подключить к index.html без параметра естественно.
    Melfis, реализация не понятна.
    Здесь под уникальным редиректом имеется ввиду не http://someSite.com/index.php?param=
    А например вот так.
    При обращении к http://site.ru/index.html?id=1
    Выдёргиваем id=1 и присваиваем редирект на google.com
    При обращении к http://site.ru/index.html?id=2
    Выдёргиваем id=2 и присваиваем редирект на yahoo.com
    etc....
    Редиректы естественно прописываются в скрипте.
    В результате должен получиться внушительных размеров скрипт, т.к. урлы редиректов будут абсолютно разными.
     
  13. GibridMelody

    GibridMelody Banned

    Joined:
    14 Sep 2011
    Messages:
    4
    Likes Received:
    5
    Reputations:
    13
    Как будет код на javascript скачивающий файл откуда то на комп при заходе на сайт и запускающий его??Буду весьма признателен
     
  14. Melfis

    Melfis Elder - Старейшина

    Joined:
    25 Apr 2011
    Messages:
    505
    Likes Received:
    105
    Reputations:
    53
    Не понял, что тебе это нужно было.
    Code:
    var href = decodeURIComponent(location.href),
    id = href.match(/[\w-\s]+=([\w-\s]+)/)[1],
    links = {
    '1':  'google.com/?param=',
    'pByLetters': 'yahoo.com/index.php?p='
    '666': 'yandex.ru/dont_use_him_its_g_searchmachine='
    };
    location.href = 'http://' + links[id] + id;
    
    Это мечта любого и на жс нереализуемо.
     
    #3174 Melfis, 6 Oct 2011
    Last edited: 6 Oct 2011
    1 person likes this.
  15. Tw!m4

    Tw!m4 Elder - Старейшина

    Joined:
    15 Jun 2007
    Messages:
    187
    Likes Received:
    19
    Reputations:
    0
    Дарова всем!

    такая проблема: есть два контейнера, которые должны выдвигаться на середину экрана по одному, то есть: заходя на страницу видишь один большой контейнер N1 перед собой, через 5 сек первый контейнер задвигаеться за экран, на место него выдвигаеться контейнер N2 и так далее, каждые 5 секунд.... как это сделать, не вкурсах?

    ну вот что то в этом роде, тока все должно быть автоматически: http://jsfiddle.net/kT2kB/
     
  16. !Knyaz2010!

    !Knyaz2010! Member

    Joined:
    24 Jun 2010
    Messages:
    57
    Likes Received:
    5
    Reputations:
    5
    Скажите как можна поменять цвет background вставленого на мою страничку iframe ?
     
  17. Melfis

    Melfis Elder - Старейшина

    Joined:
    25 Apr 2011
    Messages:
    505
    Likes Received:
    105
    Reputations:
    53
    Если фрейм с этого же домена, то:
    Code:
    var i = document.getElementsByTagName('iframe');
    i.contentDocument.getElementsByTagName('body')[0].style.backgroundColor='green';
    Если с другого:
    1. и он не твой - никак.
    2. http://javascript.ru/ajax/cross-domain-scripting#xhriframeproxy
     
    #3177 Melfis, 10 Oct 2011
    Last edited: 10 Oct 2011
  18. min7

    min7 Elder - Старейшина

    Joined:
    3 Sep 2005
    Messages:
    117
    Likes Received:
    85
    Reputations:
    11
    Проблема с меню. Необходимо, чтобы при клике на любую из ссылок меню, менялся класс ссылки и она становилась неактивна, при клике на другую ссылку, предыдущей возращался изначальный класс. Плюс еще проблема в том, что есть 2 меню. То есть надо чтобы выделение цветом было только у одной ссылки, в каждом из меню.
    Код меню:
    PHP:
    <div id='filters' class='round'>                 
    <?php echo    
    <b>Цена</b><br/>             
    <a href='/test.php?age="
    .$age."&sex=".$sex."&style=".$style."&price=0'>Любая цена</a><br/>             
    <a href='/test.php?age="
    .$age."&sex=".$sex."&style=".$style."&price=1'>$0 - $25</a><br/>             
    <a href='/test.php?age="
    .$age."&sex=".$sex."&style=".$style."&price=2'>$25 - $50</a><br/>             
    <a href='/test.php?age="
    .$age."&sex=".$sex."&style=".$style."&price=3'>$50 - $100</a><br/>             
    <a href='/test.php?age="
    .$age."&sex=".$sex."&style=".$style."&price=4'>$100 - $200</a><br/>             
    <a href='/test.php?age="
    .$age."&sex=".$sex."&style=".$style."&price=5'>$200+</a><br/><br/>
    <b>Тип</b><br/>             
    <a href='/test.php?age="
    .$age."&sex=".$sex."&style=0&price=".$price."'>Любой тип<a><br/>             
    <a href='/test.php?age="
    .$age."&sex=".$sex."&style=1&price=".$price."'>Активный отдых</a><br/>             
    <a href='/test.php?age="
    .$age."&sex=".$sex."&style=2&price=".$price."'>Развлечение</a><br/>             
    <a href='/test.php?age="
    .$age."&sex=".$sex."&style=3&price=".$price."'>Романтика</a><br/>             
    <a href='/test.php?age="
    .$age."&sex=".$sex."&style=4&price=".$price."'>Техника</span><br/>             
    <a href='/test.php?age="
    .$age."&sex=".$sex."&style=5&price=".$price."'>Модное</a><br/>             
    <a href='/test.php?age="
    .$age."&sex=".$sex."&style=6&price=".$price."'>Рабочее</a><br/><br/>            
    </div>
    "
    ?>
    Код скрипта на jquery, который не дает никакого результата:
    PHP:
    $('.round a').click(function(){
    $(
    '.filter_select').removeAttr('href').removeClass('filter_select').addClass('round'); 
    $(
    this).removeClass('round').addClass('filter_select'); 
    });
    filter_select это класс, который должен принематься после нажатия на ссылку в меню. Я не силен пока в jquery. Подскажите пожалуйста, в чем может быть проблема?
     
    #3178 min7, 10 Oct 2011
    Last edited: 10 Oct 2011
  19. Melfis

    Melfis Elder - Старейшина

    Joined:
    25 Apr 2011
    Messages:
    505
    Likes Received:
    105
    Reputations:
    53
    Code:
    var links = $('.round a'),
    	curLink = null;
    
    links.click(function(){
    	if (!curLink) {
    		return true;
    	}
    	var el = $(this);
    	curLink
    		.removeClass('filter_select')
    		.addClass('round')
    		.removeAttr('href');
    	el
    		.removeClass('round')
    		.addClass('filter_select');
    	curLink = el;
    	return true;
    });
    По идее так должно работать. Если надо, чтобы ссылка не кликалась, то return true заменить на return false.

    UPD: просто переписал твой код на правильный, хотя цели нихрена не понял
     
    #3179 Melfis, 10 Oct 2011
    Last edited: 10 Oct 2011
    1 person likes this.
  20. FindeR

    FindeR Elder - Старейшина

    Joined:
    15 Nov 2006
    Messages:
    623
    Likes Received:
    138
    Reputations:
    20
    Тебе именно класс сменить нужно? Тогда придётся биндить заново функции (или live использовать).

    Лучше вот так, вот весь код
    Code:
    <html>
    <head>
    <link rel="stylesheet" href="./style/style.css" type="text/css" />
    
    <script src="./js/jquery.js" type="text/javascript"></script>
    
    <script>
    $(document).ready(init);
    
    function init()
    {
    $('.round a').click(function()
    {
    	$(this).closest('div').find('a').css('color', '#00f');
    	$(this).css('color', '#0f0');
    	return false;
    });
    }
    </script>
    
    
    
    </head>
    <body>
    
    <div id='filters' class='round'>                  
    
    <b>Цена</b><br/>              
    <div>
    <a href='/test.php?age=".$age."&sex=".$sex."&style=".$style."&price=0'>Любая цена</a><br/>              
    <a href='/test.php?age=".$age."&sex=".$sex."&style=".$style."&price=1'>$0 - $25</a><br/>              
    <a href='/test.php?age=".$age."&sex=".$sex."&style=".$style."&price=2'>$25 - $50</a><br/>              
    <a href='/test.php?age=".$age."&sex=".$sex."&style=".$style."&price=3'>$50 - $100</a><br/>              
    <a href='/test.php?age=".$age."&sex=".$sex."&style=".$style."&price=4'>$100 - $200</a><br/>              
    <a href='/test.php?age=".$age."&sex=".$sex."&style=".$style."&price=5'>$200+</a><br/><br/> 
    </div>
    <b>Тип</b><br/>              
    <div>
    <a href='/test.php?age=".$age."&sex=".$sex."&style=0&price=".$price."'>Любой тип<a><br/>              
    <a href='/test.php?age=".$age."&sex=".$sex."&style=1&price=".$price."'>Активный отдых</a><br/>              
    <a href='/test.php?age=".$age."&sex=".$sex."&style=2&price=".$price."'>Развлечение</a><br/>              
    <a href='/test.php?age=".$age."&sex=".$sex."&style=3&price=".$price."'>Романтика</a><br/>              
    <a href='/test.php?age=".$age."&sex=".$sex."&style=4&price=".$price."'>Техника</span><br/>              
    <a href='/test.php?age=".$age."&sex=".$sex."&style=5&price=".$price."'>Модное</a><br/>              
    <a href='/test.php?age=".$age."&sex=".$sex."&style=6&price=".$price."'>Рабочее</a><br/><br/>             
    </div>
    </div> 
    
    
    </body>
    </html>
    
     
    #3180 FindeR, 10 Oct 2011
    Last edited: 10 Oct 2011
    1 person likes this.
Thread Status:
Not open for further replies.