javascript - 如何防止 jQuery 在隐藏元素之前加载修改后的内容?

标签 javascript jquery ajax effects

当我想更改元素的内容时,它可以在没有效果的情况下正常工作,并且可以通过效果执行此行为:

  • 将内容更改为新内容
  • 对新内容有隐藏效果
  • 展示效果如何,还是新内容
  • 这是每次我需要更改内容时启动的代码:

    function changePage(slug) {
      var content = $('#content');
      var title   = $('#name');
      $.getJSON('http://'+location.host+'/'+slug+'.json', function(data) {
        $('#main').fadeOut('slow');
        title.html(data.name);
        content.html(data.content);
        $('#main').fadeIn('slow');
      });
    }
    

    以下是运行此函数的代码:

    var app = new Sammy.Application(function() {with(this){
      get('#/', function() { with(this) {
        changePage('_home');
      }});
      get('#/:page', function() { with(this) {
        changePage(params['page']);
      }});
    }});
    $(function(){app.run();});
    

    我是萨米,http://github.com/quirkey/sammy/ .

    预先感谢您的帮助!

    最佳答案

    fadeOut 和 fadeIn 函数有一个完整的处理程序,您需要使用例如:

    $.getJSON('http://'+location.host+'/'+slug+'.json', function(data) {
        $('#main').fadeOut('slow',function(){
        title.html(data.name);
        content.html(data.content);
        $('#main').fadeIn('slow');
        });
      });
    

    现在,一旦淡出效果完成,它将执行数据切换并淡入!

    安德鲁

    关于javascript - 如何防止 jQuery 在隐藏元素之前加载修改后的内容?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1252551/

    相关文章:

    javascript - 使用 PHP 变量打开 Bootstrap 模态框,无需重新加载网站

    javascript - 如何在 NestJS 中记录所有 Axios 外部 http 请求

    javascript - 如何防止在另一个页面上的导航上发生点击事件

    javascript - Jquery did() 的正确语法是什么?

    javascript - 检查 ajax 函数中是否存在动态 url

    javascript - 未捕获的类型错误 : $. ajax 不是函数 |在使用最新的完整 jQuery 版本时

    javascript - 部署在事件域中时,ajax 调用不起作用

    javascript - 根据元素高度和宽度的百分比变化来增加或减小字体大小

    javascript - 我如何从第三个 "/"之后获取字符串

    jquery - magento中的同步jquery ajax调用