Javascript 用jquery替换href单击行为
作为练习,我试图使导航栏中的链接收缩到content div,使用ajaxpage()将页面加载到content中,然后将其滑回。我正在使用以下命令: 编辑:我意识到我可能需要回调函数中的所有内容,所以我解决了这个问题。不过,这个电话仍然不起作用Javascript 用jquery替换href单击行为,javascript,jquery,Javascript,Jquery,作为练习,我试图使导航栏中的链接收缩到content div,使用ajaxpage()将页面加载到content中,然后将其滑回。我正在使用以下命令: 编辑:我意识到我可能需要回调函数中的所有内容,所以我解决了这个问题。不过,这个电话仍然不起作用 $(document).ready(function() { $("a.link").click(function() { //... return false; }); $("#navbar a").click(func
$(document).ready(function()
{
$("a.link").click(function() {
//...
return false;
});
$("#navbar a").click(function(){
$("#content").slideUp(500,function(){
var a_href = $(this).attr('href');
ajaxpage(a_href, 'content');
$("#content").slideDown(500);
});
});
});
链接为:
<a class="link" href="home.php">Home</a>
当我声明该变量并通过alert()发送它时,它会显示“undefined”。我猜我没有正确地获取属性,所以这就是它挂起的地方!我如何正确地获取您单击的链接的href属性?我很确定您真正想要的是捕获所单击元素的href
$("#navbar a").click(function(){
var a_href = $(this).prop('href');
$("#content").slideUp(500,function(){
ajaxpage(a_href, 'content');
$("#content").slideDown(500);
});
});
但是我们要明确的是,在ajax调用返回任何数据之前,
$(“#content')。slideDown(500)
;就要开火了。您需要将回调添加到ajaxpage
以接受作为$.ajax()
的成功函数,这样您就可以在单击使用attr()
后确定href时确定何时滑下()
您的AJAX调用可能失败,请为
ajaxpage
函数发布代码。我还可以告诉你,这个调用可能是异步的,所以你的slideDown
应该在AJAX回调中。是的,我刚刚解决了这个问题!ajax调用工作正常,因为我可以在a href中使用它:href=“javascript:ajaxpage('home.php','content')”您能用小提琴分享html吗?
$("#navbar a").click(function(){
var a_href = $(this).prop('href');
$("#content").slideUp(500,function(){
ajaxpage(a_href, 'content');
$("#content").slideDown(500);
});
});
$("#navbar a").click(function(){
var a_href = $(this).attr('href');
$("#content").slideUp(500,function(){
ajaxpage(a_href, 'content');
$("#content").slideDown(500);
});
});