0

当单击锚元素时,我想用 jQuery 加载 flexslider 库。图库应在 div#slider-loader 中加载

问题是 HTML 已正确加载,但 Javascript 似乎不会影响注入的元素,即使我读到在这种情况下我将使用 .on()。

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

先感谢您!

--

使用回调函数在加载完成时执行操作,如下所示

甜的!有效!尽管使用这种解决方案, .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;
});

唯一的问题是代码的注入非常分散。我想让 div 容器“#slider-loader”根据“.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;
});

问题是,一旦我单击锚元素,#slider-container 开始滑动显示其内容,但对于我设置为变量并使用 .css( ) 方法。它向下滑动了几个像素,然后突然变成了整个 .flexslider 的高度。

4

1 回答 1

0

使用回调函数在加载完成时执行操作,如下所示

$(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;
});
于 2013-03-10T07:58:43.543 回答