【问题标题】:Jquery get animated text from other fileJquery从其他文件中获取动画文本
【发布时间】:2025-11-21 17:35:02
【问题描述】:

我正在使用 jQuery“加载”函数从外部 PHP 文件中获取产品名称及其描述。此外,我希望使用 fadeIn() 函数在页面上显示此文本。如何在我的 jQuery 代码中做到这一点?

$('document').ready(function() {
    refreshEPosts();
    function refreshEPosts(){
        $('#crPanel').load('getNewPosts.php', function(){
            setTimeout(refreshEPosts, 1500);
        });
    }
});

更新

$('document').ready(function() {
    refreshEPosts();
    function refreshEPosts(){
        $('#crPanel').load('getNewPosts.php', function(data) {
            //For now, lets just log the data
            console.log(data); //should be your echo'd php stuff

            setTimeout(refreshEPosts, 1500);
            $('#crPanel').fadeIn(data);
        }); 
    }
});

【问题讨论】:

  • 从 php 文件返回的内容...现在您只需每 1.5 秒调用一次 .load 函数。
  • 它正在使用 mysql 从数据库中返回名称和一些文本——我只是在页面中回显它
  • 收到下一批数据时会发生什么? #crPanel 是否应该在使用新数据更新之前淡出?

标签: php jquery jquery-load


【解决方案1】:

您必须对返回数据进行实际操作。为您的load 回调添加一个参数,然后使用它:

$('#crPanel').load('getNewPosts.php', function(data) {
    //For now, lets just log the data
    console.log(data); //should be your echo'd php stuff

    setTimeout(refreshEPosts, 1500);
});

【讨论】:

  • 无论您想在哪里fadeIn 数据。所以,$("#yourSelector").fadeIn(data)
  • 您的控制台对 AJAX 请求有何看法,是否完成?
  • 所以当你说不工作时,实际上发生了什么?记录的数据是否正确?
  • 数据没有动画我的意思是淡入,它只是像正常外观一样显示
  • 好吧,没有动画功能!你必须做一个!
【解决方案2】:

试试这个:

HTML:

<div id="myDiv"></div>  

JS:

$('#crPanel').load('getNewPosts.php', function(data) {
    $("#myDiv").fadeIn(data); 
    setTimeout(refreshEPosts, 1500);
});

【讨论】:

    【解决方案3】:

    也许这样的事情会起作用:

    $('document').ready(function() {
        refreshEPosts();
    
        function refreshEPosts(){
            $('#crPanel')
                .hide()
                .load('getNewPosts.php', function() {
                    $('#crPanel').fadeIn();
    
                    setTimeout(refreshEPosts, 1500);
                }); 
        }
    });
    

    您可以在这个 jsFiddle 中看到它的工作原理:http://jsfiddle.net/M93Cn/

    【讨论】:

      【解决方案4】:

      $('#crPanel').load()成功时只是将返回的HTML放入#crPanel中,所以不需要在成功函数中处理返回的数据。

      由于fadeIn()没有接受你要显示的数据的参数,在这种情况下调用$('#crPanel').fadeIn(data);是行不通的,直接使用$('#crPanel').fadeIn();,相信会很好用。

      【讨论】: