jquery:slideToggle和scrollTo-won';不能在ajax加载的html文件中工作
我现在正在做我的新投资组合。要检查我遇到的问题,您可以转到并单击“详细信息”。发生的是一种滑动切换效果,其中一个新的html文件通过ajax加载jquery:slideToggle和scrollTo-won';不能在ajax加载的html文件中工作,jquery,css,ajax,slidetoggle,scrollto,Jquery,Css,Ajax,Slidetoggle,Scrollto,我现在正在做我的新投资组合。要检查我遇到的问题,您可以转到并单击“详细信息”。发生的是一种滑动切换效果,其中一个新的html文件通过ajax加载 $(".show_details").click(function(){ $("#mmd_details").slideToggle("slow"); }); $(document).ready(function() { // select all the links with class=
$(".show_details").click(function(){
$("#mmd_details").slideToggle("slow");
});
$(document).ready(function() {
// select all the links with class="load_content", when one of them is clicked, get its "href" value
// adds a "loading..." notification, load the content from that URL and
$('a.load_content').click(function() {
var url = $(this).attr('id');
$('#mmd_details').html('Laden...').load(url);
return false;
});
});
我的问题如下:我在html文件中有一个简单的“close”链接,它是由ajax加载的,不会切换div容器。当我点击初始的“详细信息”链接时,它将关闭div。加载的html中的相同链接不会这样做
当scrollTo在ajax加载的html文件中使用时,它也不会工作
这是滚动功能:
$(document).ready(function() {
$(".scroll").click(function(event){
event.preventDefault();
$('html,body').animate({scrollTop:$(this.hash).offset().top}, 700);
});
});
我完全不知道为什么jquery脚本不能在ajax文件中工作。我希望你能帮助我
干杯,
当页面加载完成时,Tim将jQuery的事件处理程序绑定到dom。如果随后添加到dom,比如说通过ajax,jQuery不知道新元素
您需要使用“”或“live”,具体取决于您的jQuery版本。我没有使用过
jQuery.load()
,但是文档()没有指示对加载的HTML中的任何联机脚本进行评估
它确实指定了可以将回调函数传递到load()
,我认为这是最好的选择:
$('#mmd_details').html('Laden...').load(url, function() {
$(".scroll").click(function(event){
event.preventDefault();
$('html,body').animate({scrollTop:$(this.hash).offset().top}, 700);
});
});
每当我使用jQuery的“on”bind方法时,我总是需要至少有一个元素与DOM中的选择器匹配,以便它绑定到未来的元素。我可能没有正确地使用它,所以我愿意更正:)是您用来将单击事件绑定到通过AJAX加载的HTML中的.scroll类的方法吗?@brmcullin:是的。
$(.close_details”).on('click',function(){//close link$(“#mmd_details”).slideToggle(“slow”)//container to close})代码>我试过这个。不知怎么的,还是不行。这里面有错误吗?$(.close_details”).live('click',function(){//close link$(“#mmd_details”).slideToggle(“slow”);//要关闭的容器})代码>现在实际上可以工作了。scrollTo的功能也是如此。谢谢你,杰夫。