我开始时遇到与此问题极为相似的问题:Jquery : remplace content only if the new content is different
我已经尝试了接受的解决方案,它似乎没有按照预期的方式工作。我首先尝试了本机解决方案,只是放入我的div。然后我尝试在jQuery的网站上查找函数:http://api.jquery.com/data/并相应地修改我的代码到最后一个例子。我试着提醒数据,看看究竟发生了什么,但是数据量相当大,这就是为什么我有MD5哈希的所有内容。
我的问题是第一个警报未定义,而第二个警报实际上是定义出来的。难道我做错了什么?什么会导致这些存储的数据消失?
我目前的代码:
function setDiv(data) {
newData = md5(data);
if ($('#myDiv1').data('oldData') != newData) {
$('#myDiv1').fadeTo("fast", 0, function () {$(this).html(data).fadeTo("fast", 1)});
alert($('#myDiv1').data('oldData'))
$('#myDiv1').data('oldData',md5(data));
alert($('#myDiv1').data('oldData'))
}
}
我的脚本标题(第二个用于md5函数):
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<script src="http://www.myersdaily.org/joseph/javascript/md5.js"></script>
对于所有意图和目的,输入到该功能的数据是正确的...无论如何我能看到它。它在设置后仍然起作用。但我只是不希望它每次刷新时都会刷新它的事情,而且我更喜欢淡出和淡出的东西,而不仅仅是BAM。
现在,使用当前代码,即使数据相同,它也会淡入淡出。显然在开始时提醒我未定义,并在完成时提示md5。每次完成相同的md5,所以它绝对是相同的数据。但第一个警报是未定义的问题。
将数据提交到上述函数的函数:
function loadDivContent(arg1,arg2) {
$.post('divContent.php',{arg1:arg1,arg2:arg2})
.done(function(data) {
setDiv(data)
});
}