不确定这是否可行,但您可以在jquery切换中加载和卸载到div中吗?
有点像这样的东西吗?$("#IDOFCLICK").live('click',function(){
$(this).toggleClass("active").('#IDOFDIVTOLOAD').load('PAAGETOLOAD').slideToggle("slow");
});
如果你能猜到上面的说法不对,但是,你如何在“反向”切换中卸载?
答案 0 :(得分:2)
那不行。您正在使用的toggle
只是切换课程。您可以使用toggle
个活动,但据我所知,live()
不支持此活动。
当您说unload
时,我假设您要清空#IDOFDIVTOLOAD
的内容。如果这是对的,你可以试试这个:
$("#IDOFCLICK").live('click',function(){
$(this).toggleClass("active");
var $loadElement = $('#IDOFDIVTOLOAD');
if( $loadElement.is(':empty') ) {
$loadElement.load('PAAGETOLOAD').slideToggle("slow");
} else {
$loadElement.empty().slideToggle("slow");
}
});
jQuery docs:
.is()
- http://api.jquery.com/is/ .empty()
- http://api.jquery.com/empty/ 答案 1 :(得分:0)
我碰到了这个,当我尝试它时,在页面加载之前发生了一个小动画,然后切换发生了。我将IF语句中的代码更改为ajax调用,以测试数据是否在slideToggle之前加载。它产生了预期的效果。
$.ajax({
type: 'GET',
url: "/pagetoload",
dataType: "html",
success: function(data)
{
$loadElement.html(data);
$loadElement.slideToggle("slow");
},
error: function()
{
alert("Error!");
}
});