仅为特定html元素启用刷新

时间:2012-05-31 21:04:10

标签: javascript html ajax

我想知道如何只刷新网站中的特定元素,而不是整个网页?我正在谈论的元素是一个加载非常慢的Flash应用程序,可能会遇到连接超时。我想让用户只刷新该元素/ falsh应用程序。我怎么做?下面我有一个Ajax函数,用于更新HTML元素但不确定如何将其应用于我的情况。

<head>
    <script type="text/javascript">
        function loadXMLDoc() {
            var xmlhttp;
            if (window.XMLHttpRequest) { // code for IE7+, Firefox, Chrome, Opera, Safari
                xmlhttp = new XMLHttpRequest();
            } else { // code for IE6, IE5
                xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
            }
            xmlhttp.onreadystatechange = function () {
                if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
                    document.getElementById("myDiv").innerHTML = xmlhttp.responseText;
                }
            }
            xmlhttp.open("GET", "ajax_info.txt", true);
            xmlhttp.send();
        }
    </script>
</head>
<body>
    <div id="myDiv">
        <h2>Let AJAX change this text</h2>
    </div>
    <button type="button" onclick="loadXMLDoc()">Change Content</button>
</body>

4 个答案:

答案 0 :(得分:16)

试试这个:

function reload(){
    var container = document.getElementById("yourDiv");
    var content = container.innerHTML;
    container.innerHTML= content; 
    
   //this line is to watch the result in console , you can remove it later	
    console.log("Refreshed"); 
}
<a href="javascript: reload()">Click to Reload</a>
    <div id="yourDiv">The content that you want to refresh/reload</div>

希望它有效。让我知道

答案 1 :(得分:1)

尝试创建运行此功能的javascript函数:

document.getElementById("youriframeid").contentWindow.location.reload(true);

或者也许使用HTML解决方法:

<html>
<body>
<center>
      <a href="pagename.htm" target="middle">Refresh iframe</a>
      <p>
        <iframe src="pagename.htm" name="middle">
      </p>
</center>
</body>
</html>

两者都可能是您正在寻找的......

答案 2 :(得分:1)

在脚本中尝试以下操作:

$("#YourElement").html(htmlData);

我在茶点休息时做这个。

答案 3 :(得分:0)

每次尝试清空你的innerHtml。 就像这样:

$('.img').each(function(key, value) {
    $(value).fadeOut('slow', function() {
        // fadeOut animation completed
        $(value).attr('src','images/new.png')

        $(value).fadeIn('slow')
    })
})