Javascript 在jquery中修改HTML时如何刷新对象?
我有一个加载了jQuery内容的页面,其中一个div将是一个滑块Javascript 在jquery中修改HTML时如何刷新对象?,javascript,jquery,html,dom,Javascript,Jquery,Html,Dom,我有一个加载了jQuery内容的页面,其中一个div将是一个滑块 $('#slides').slides({ preload: true, preloadImage: 'img/loading.gif', play: 6000, pause: 2500, hoverPause: true, slideSpeed: 1000, an
$('#slides').slides({
preload: true,
preloadImage: 'img/loading.gif',
play: 6000,
pause: 2500,
hoverPause: true,
slideSpeed: 1000,
animationStart: function(current){
$('.caption').animate({
bottom:-35
},100);
},
animationComplete: function(current){
$('.caption').animate({
bottom:0
},200);
},
slidesLoaded: function() {
$('.caption').animate({
bottom:0
},200);
}
});
});
现在,html的结构如下所示:
<div id"content">
<div id="slider"></div>
</div>
如果用户回到家中,只需:
$("#content").html(homepage);
但是接下来是$('#slides').slides()代码>不再工作了
我该如何解决这个问题
试试这个
将滑块放入函数中
function SliderCode()
{
$('#slides').slides({
preload: true,
preloadImage: 'img/loading.gif',
play: 6000,
pause: 2500,
hoverPause: true,
slideSpeed: 1000,
animationStart: function(current){
$('.caption').animate({
bottom:-35
},100);
},
animationComplete: function(current){
$('.caption').animate({
bottom:0
},200);
},
slidesLoaded: function() {
$('.caption').animate({
bottom:0
},200);
}
});
});
}
再次设置hompage callslider函数后
$("#content").html(homepage);
SliderCode();
我没有测试代码。希望它能起作用。试试这个
将滑块放入函数中
function SliderCode()
{
$('#slides').slides({
preload: true,
preloadImage: 'img/loading.gif',
play: 6000,
pause: 2500,
hoverPause: true,
slideSpeed: 1000,
animationStart: function(current){
$('.caption').animate({
bottom:-35
},100);
},
animationComplete: function(current){
$('.caption').animate({
bottom:0
},200);
},
slidesLoaded: function() {
$('.caption').animate({
bottom:0
},200);
}
});
});
}
再次设置hompage callslider函数后
$("#content").html(homepage);
SliderCode();
我没有测试代码。希望它能起作用。您可以使用.load()
中的完成,检查您的内容中是否有滑块。如果是,请再次初始化幻灯片
插件
var homepage = $('#content'),
options = {
generateNextPrev: true,
play: 1000
};
$('#slides').slides(options);
// Button click or something
$('#content').load('myContent.html', function(response, status, xhr) {
if ($(response).find('#slider').length > 0) {
$('#slides').slides(options);
}
});
编辑:
我制作了一个jsfiddle来演示它,但是jsfiddle有服务器问题,所以我制作了一个codepen演示。再次调用插件对我来说很有效(尽管我只是用.html()
替换内容来模拟ajax请求)。您可以使用.load()
中的完成来检查您的内容中是否有滑块。如果是,请再次初始化幻灯片
插件
var homepage = $('#content'),
options = {
generateNextPrev: true,
play: 1000
};
$('#slides').slides(options);
// Button click or something
$('#content').load('myContent.html', function(response, status, xhr) {
if ($(response).find('#slider').length > 0) {
$('#slides').slides(options);
}
});
编辑:
我制作了一个jsfiddle来演示它,但是jsfiddle有服务器问题,所以我制作了一个codepen演示。再次调用插件对我来说很有效(尽管我只是用.html()
替换内容来模拟ajax请求)。有更好的方法吗?比如销毁.slides();第一我该怎么做?或者你可以在iframe中放置滑块。如果hompage htmli中的iframe使用的是XHTML 1.0 strict,我不能使用iframesOkay,那么我建议显示或隐藏包含slider的容器元素,而不是一直设置整个HTML;有更好的方法吗?比如销毁.slides();第一我该怎么做?或者你可以在iframe中放置滑块。如果hompage htmli中的iframe使用的是XHTML 1.0 strict,我不能使用iframesOkay,那么我建议显示或隐藏包含slider的容器元素,而不是一直设置整个HTML;我确信#幻灯片会在那里,因为它存储在“var主页”中,我要问的是如何制作幻灯片();在替换html后再次工作,然后将相同的html(带幻灯片的html)放回原处again@Tom91136还要确保您正在调用$(“#slides”).slides(选项)
。如果这也不起作用,请在调用slides()
之前保存homepage
变量。我已经编辑了上面的示例。我确信#幻灯片会在那里,因为它存储在“var homepage”中,我要问的是如何制作幻灯片();在替换html后再次工作,然后将相同的html(带幻灯片的html)放回原处again@Tom91136还要确保您正在调用$(“#slides”).slides(选项)
。如果这也不起作用,请在调用slides()之前保存homepage
变量。
我已经编辑了上面的示例。