Активация iframe с помошью клика....

Тема в разделе "PHP", создана пользователем dimida, 17 май 2009.

Статус темы:
Закрыта.
Модераторы: latteo
  1. dimida

    dimida Создатель

    Регистр.:
    23 ноя 2008
    Сообщения:
    17
    Симпатии:
    0
    помогите плиз нужно чтоб фрэйм активировался только когда по нему нажмут мышкой. к примеру есть рисунок, при нажатии на этот рисунок загружается фрэйм... спасибо....
     
  2. -=Xardas=-

    -=Xardas=-

    Регистр.:
    17 сен 2008
    Сообщения:
    250
    Симпатии:
    58
    так что именно вам нужно? :)

    З.Ы.: тема к php не относится никаким образом, вам вероятно Перейти по ссылке.
     
  3. Black#FFFFFF

    Black#FFFFFF

    Регистр.:
    19 июл 2007
    Сообщения:
    175
    Симпатии:
    107
    :)

    Да и здесь поможем. Элементарно на яваскрипте.
    Вот пример кода для всех современных браузеров:
    Алгоритм:
    1. Имеем набор картинок с одним общим именем - images, и разными id
    2. Почему одно имя? Проще взять все элементы и присвоить им обработчик события щелчка.
    3. Почему разные id? По id элемента мы можем в скрипте присвоить различные ссылки для iframe контента.
    4. Грузим страницу, после загрузки выбираем все присутствующие картинки с именем, и обрабатываем щелчок мыши по ним для браузеров ИЕ 6.0 и выше и браузеров модели DOM 2. Все современные браузеры.
    5. В функции щелчка по картинке узнаем ай ди картинки, по которой щелкнули и согласно ай ди картинки присваиваем уникальный src для нашего фрейма.
    Все. Если все вокруг одного и того же домена - то можно и аякс.

    Все что требуется от тебя - задать картинки с именем images и уникальными id.
    А в функции function changeFrame(event)
    В коде где
    switch(img.id){

    Добавить
    case "имя нужного ай ди":
    frm.src = "нужный юрл для ифрейма";
    break;

    При этом:
    Обязательно: все картинки должны быть с атрибутом name="images"
    Обязательно: iframe должен иметь атрибут id="iframe"
    Все. Если не хочешь утруждать себя разбираться в коде.

    Код:
    
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
        "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
    
    <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
    
    <head>
      <title></title>
      <script type="text/javascript">
      //<!--
    
      function changeIfrSrc(){
    
                //все картинки имеют одно и то же имя но разные ай ди - достаем все картинки со страницы с именем имейдж
                var images      = document.getElementsByName('image');
    
    
    
                if(images && images.length){
                  var l         = images.length;
                  for(var i=0;i<l;i++){
    
                        //вешаем обработчики клика 1. для не ие браузеров 2. для ие браузеров для всех наших рисунков  DOM 2
                        try{
                            images[i].addEventListener('click',changeFrame,false);
    
                        }catch(ex){
                            images[i].attachEvent('onclick',changeFrame);
    
                        };
    
                  };
    
                };
             };
    
        function changeFrame(event){
    
                //если щелчек произошел в ИЕ - извлекаем картинку по которой щелкнули 2. для не ие браузеров DOM 2
                if(event.srcElement){
                    var img     = event.srcElement;
                } else if(event.target){
                    var img     = event.target;
                } else {
                    var img     = false;
    
                };
    
                //проверяем id элемента и согласно ему присваиваем адрес для ифрейма
                if(img && typeof img.id != "undefined" && img.id){
    
                    var frm             = document.getElementById('iframe');
                    switch(img.id){
                        case "click1":
                            frm.src     = "http://www.ya.ru";
                            break;
                        case "click2":
                            frm.src     = "http://www.google.com";
                            break;
                        case "click3":
                            frm.src     = "http://images.google.nl/";
                            break;
                        case "click4":
                            frm.src     = "http://bash.org.ru/";
                            break;
                        case "click5":
                            frm.src     = "http://torrents.ru";
                            break;
    
    
                    };
    
                };
    
    
        };
    
        //по загрузке страницы выполняем наши функции 1 для не интернет эксплорер браузеров - 2 для интернет эксплорерара вешаем обработчики событий
        try{
            window.addEventListener('load',changeIfrSrc,false);
        }catch(ex){
            window.attachEvent('onload',changeIfrSrc);
        }
      //-->
      </script>
    </head>
    
    <body>
        <img src="12.jpg" id="click" name="image"/>
        <img src="1228995762_1228947361_jubeitv.jpg" id="click1" name="image"/>
        <img src="ninja_scroll3.jpg" id="click2" name="image"/>
        <img src="logo copy.jpg" id="click3" name="image"/>
        <img src="wbyupmruchexnshst6ol.jpg" id="click4" name="image"/>
        <img src="post-13-12412500347706.jpg" id="click5" name="image"/>
    
    
    
        <iframe id="iframe"></iframe>
    </body>
    
    </html>
    
    
    
     
    dimida нравится это.
  4. dimida

    dimida Создатель

    Регистр.:
    23 ноя 2008
    Сообщения:
    17
    Симпатии:
    0
    sory, незнал куда запостить, в пхп часто использую фрэйм, решил сюда запостить...


    Black#FFFFFF - спасибо за помощь :ay:
     
Статус темы:
Закрыта.