jQuery-使用Ajax加载内容后使用javascript
我想在单击锚元素时用jQuery加载flexslider库。 廊道应装在div#滑块装载机中 问题是HTML加载正确,但Javascript似乎不会影响注入的元素,尽管我读到在本例中我将使用.on() 提前谢谢你 --jQuery-使用Ajax加载内容后使用javascript,javascript,jquery,slider,flexslider,Javascript,Jquery,Slider,Flexslider,我想在单击锚元素时用jQuery加载flexslider库。 廊道应装在div#滑块装载机中 问题是HTML加载正确,但Javascript似乎不会影响注入的元素,尽管我读到在本例中我将使用.on() 提前谢谢你 -- 在加载完成时,使用回调函数执行操作,如下所示 好极了!成功了!尽管有了这样的解决方案,.on()事件变得毫无用处。 现在我想到了这个,它起作用了: $('.cliccami').click(function() { var href = $(this).attr('hre
在加载完成时,使用回调函数执行操作,如下所示 好极了!成功了!尽管有了这样的解决方案,.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容器开始向下滑动,显示其内容,但它不会对整个.flexslider高度执行此操作,我将其设置为变量,并使用.css()方法提供给他。它向下滑动了几个像素,然后突然变为整个.flexslider高度。在加载完成后,使用回调功能执行操作
$(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;
});
你应该将你的
点击事件附加到锚元素,而不是文档
@Aiias否,事件应该绑定到文档并委托给锚元素,比如他正在做什么。你是否在页面通过完全加载后运行此Javascript?你提供的代码没有问题,问题一定在别处。检查classnames/id name以确保选择了正确的元素。@Alias I没有。。。但也是在我将所有内容插入$(文档)之后。准备好了吗?它仍然不起作用。对不起,加载html内容后我应该做什么?Javascript似乎不会影响注入的元素,即使
,可能会将Javascript应用于加载的内容?!好极了!这管用!虽然有了这个方法,.on()方法就没用了。现在我有了和我原来的问题一样的脚本和回调函数,然后把它包装在一个函数中,在这里调用它
$(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;
});