2013-03-10 3 views
0

Я бы хотел загрузить галерею flexslider с помощью jQuery, когда был щелкнут элемент привязки. Галерея загружается в ползунок-загрузчик div #jQuery - использовать javascript после загрузки содержимого с помощью Ajax

Проблема в том, что HTML загружен должным образом, но Javascript, похоже, не влияет на введенные элементы, хотя я читал, что в этих случаях я буду использовать .on ().

$(document).on('click', '.cliccami' , function() { 
     var href = $(this).attr('href'); 
     $('#slider-loader').load(href); 
     return false; 
}); 

Заранее спасибо!

-

использовать функции обратного вызова для преформ действия whaen нагрузка завершается как так

кисло! это сработало! хотя при таком решении событие .on() становится бесполезным. Теперь я придумал это, и она работает:

$('.cliccami').click(function() { 
    var href = $(this).attr('href'); 
    var gallery_height = $('.flexslider').css('height'); 
    $('#slider-loader').hide().fadeIn('slow', 'swing').load(href , function(){ 
     $('.flexslider').flexslider({ 
      animation: "slide" 
     }); 

    }) 
    return false; 
}); 

Единственная проблема заключается в инъекции кода очень рассеивание. Я бы хотел, чтобы контейнер контейнера «# ползунок-загрузчик» отрегулировал его высоту в соответствии с высотой «.flexslider» с плавной анимацией.

То, что я пытался сделать, это:

$(document).ready(function(){ 
    $('#slider-loader').hide(); 
}); 


$(document).on('click', '.cliccami', function() { 

    var href = $(this).attr('href'); 
    var gallery_height = $('.flex-viewport').css('height'); 

    $('#slider-loader').load(href , function(){ 
     $('.flexslider').flexslider({ 
       animation: "slide" 
     }); 
     $('#slider-loader').css('height' , gallery_height); 
     $('#slider-loader').slideDown(10000); 
    }); 
    return false; 
}); 

Проблема заключается в том, что когда я нажимаю на якорь Элемент # бегунок-контейнер начинают slideDown показывая его содержание, но dosen't сделать это для целую высоту .flexslider, которую я установил как переменную и дал ему метод .css(). Он slideDown для нескольких пикселей, а затем он внезапно стал из всей высоты .flexslider.

+0

Вы должны быть прикрепления вашего 'click' события к элементу анкера, а не' document'. – Aiias

+0

@Aiias Нет, событие должно быть привязано к документу и делегировано якорю, например, что он делает. –

+0

Вы используете этот Javascript после полной загрузки страницы через [$ (document) .ready()] (http://api.jquery.com/ready/)? – Aiias

ответ

0

использования перезвонить функции преформ действия whaen нагрузки завершаются как и

$(document).on('click', '.cliccami' , function() { 
     var href = $(this).attr('href'); 
     $('#slider-loader').load(href , function(){ 
            // some thing to happen when loading is done 
           }); 
     return false; 
}); 
+0

Извините, что я должен делать после загрузки содержимого html? –

+0

'Javascript, кажется, не влияет на введенные элементы, хотя', может быть, применить javascript к загруженному контенту?! –

+0

Сладкий! это работает! Хотя с помощью этого метода метод .on() становится бесполезным. Итак, теперь у меня есть тот же сценарий, что и мой исходный вопрос с функцией обратного вызова. –

 Смежные вопросы

  • Нет связанных вопросов^_^