Javascript 如何";动画化;使用jquery';s.load()
我有一个ajax站点,页面通过Javascript 如何";动画化;使用jquery';s.load(),javascript,jquery,ajax,Javascript,Jquery,Ajax,我有一个ajax站点,页面通过load()加载,但是我如何添加转换?一个简单的淡出+淡出已经很好了 这是我用来加载它的代码(加上一个加载指示器) 我希望当前页面(只是容器)淡出,新页面随fadeIn一起到达 $(document).ready(function() { $('a').click(function(event) { $("#container").append('<div id="loading">Loading...</div>')
load()
加载,但是我如何添加转换?一个简单的淡出+淡出已经很好了
这是我用来加载它的代码(加上一个加载指示器)
我希望当前页面(只是容器)淡出,新页面随fadeIn一起到达
$(document).ready(function() {
$('a').click(function(event) {
$("#container").append('<div id="loading">Loading...</div>');
event.preventDefault();
var url = $(this).attr('href');
$('div#container').load(url, function() { $("#loading").fadeOut() });
});
});
$(文档).ready(函数(){
$('a')。单击(函数(事件){
$(“#容器”).append('Loading…);
event.preventDefault();
var url=$(this.attr('href');
$('div#container').load(url,function(){$('div#load').fadeOut()});
});
});
确保您有一个html标记,内容如下:
<div id="container">
<div id="content"></div>
</div>
然后,通过一些简单的jQuery,您将能够解决这个问题:
$(function() {
$('a').click(function(e) {
e.preventDefault();
var url = $(this).attr('href');
var content = $('#content');
content.fadeOut(400, function() {
$("#container").append('<div id="loading">Loading...</div>');
var loading = $('#loading');
loading.fadeIn(400, function() {
content.load(url, function() {
loading.fadeOut(400, function() {
$(this).remove();
content.fadeIn(400);
});
});
});
});
});
});
$(函数(){
$('a')。单击(函数(e){
e、 预防默认值();
var url=$(this.attr('href');
var content=$(“#content”);
内容淡出(400,函数(){
$(“#容器”).append('Loading…);
变量加载=$(“#加载”);
加载.fadeIn(400,函数(){
load(url,函数(){
加载.衰减(400,函数(){
$(this.remove();
内容:fadeIn(400);
});
});
});
});
});
});
有道理吗
编辑:稍加修改。您需要比
.load()
更细粒度的内容,以便在插入新内容之前执行淡出()
$(function()
{
var $container = $('#container');
$('a').click(function()
{
$container.html('<div id="loading">Loading...</div>');
var url = $(this).attr('href');
$.get(url, function (data)
{
$("#loading").fadeOut(function()
{
// without this the DOM will contain multiple elements
// with the same ID, which is bad.
$(this).remove();
$container.hide().html(data).fadeIn();
});
});
return false;
});
});
$(函数()
{
var$container=$(“#container”);
$('a')。单击(函数()
{
$container.html('Loading…');
var url=$(this.attr('href');
$.get(url、函数(数据)
{
$(“#加载”).fadeOut(函数()
{
//如果没有这个,DOM将包含多个元素
//使用相同的ID,这很糟糕。
$(this.remove();
$container.hide().html(data.fadeIn();
});
});
返回false;
});
});
(非常基本)演示:如果您试图淡入淡出内容,可以设置不透明度属性的动画,而不是完全淡出元素,以保持容器高度
$(document).ready(function() {
$('a').click(function(event) {
$("#container").animate({'opacity': 0}, 200);
event.preventDefault();
var url = $(this).attr('href');
$('div#container').load(url, function() {
$(this).animate({'opacity': 1}, 200);
});
});
});
$(document).ready(function() {
$('a').click(function(event) {
$("#container").animate({'opacity': 0}, 200);
event.preventDefault();
var url = $(this).attr('href');
$('div#container').load(url, function() {
$(this).animate({'opacity': 1}, 200);
});
});
});