Загрузите iframe с эффектом Fx.Slide - PullRequest
1 голос
/ 27 ноября 2010

Может ли кто-нибудь сказать мне, что я делаю не так?Проблема в том, что у меня есть ссылки, которые открываются в iframe, и я хочу, чтобы этот iframe открывался с эффектом слайда после того, как я нажму на ссылки (и после того, как контент загрузится в iframe).Это мой код:

JS:

 window.addEvent('domready', function(){

 var mySlide = new Fx.Slide('slider').hide();

 $$('.cal_titlelink').addEvent('click', function(e) {
         e = new Event(e);
     mySlide.slideIn();
     e.stop();
});
});

HTML:

    <a class="cal_titlelink" target="details" href="//address is created dynamically by php//">Link 1</a>
    <a class="cal_titlelink" target="details" href="//address is created dynamically by php//">Link 2</a>
....
    <div id="slider"><iframe name="details"></iframe></div>

Здесь вы можете увидеть, как это работает http://wisko.pl/ Это календарь налевый.Эффект слайда работает, но iframe пуст.Когда я удаляю слайдер, тогда iframe загружается, но без эффекта.Как я могу сделать, чтобы загрузить содержимое iframe с эффектом слайда?Пожалуйста, помогите.

1 Ответ

0 голосов
/ 27 ноября 2010

http://jsfiddle.net/ZJzjV/114/

var mySlide = new Fx.Slide('slider').hide(),
    myFrame = $('myFrame');


$$('.cal_titlelink').addEvent('click', function(e) {

    myFrame.innerHTML = '';

    e = new Event(e);
    mySlide.hide();
    e.stop();

    if (!myFrame.getProperty("src")) {
         myFrame.addEvent("load", function() {
            mySlide.slideIn();
            console.log("loaded");
        });
    }

    myFrame.setProperty('src',this.getProperty('href'));
});

это обновлено, чтобы работать, добавив событие загрузки один раз и вставит его после загрузки iframe.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...