表元素的JavaScript不透明度
我是JavaScript和AJAX的初学者 我有一个JavaScript代码,当select元素的状态改变时,它使用AJAX更新HTML表格元素(包含在div中)。 那部分工作得很好 另一方面,我无法使更新的不透明度动画正常工作。 Chrome的JavaScript控制台告诉我: 未捕获的TypeError:无法读取未定义的属性“style” 在JavaScript代码的第2行 以下是我的JavaScript代码:表元素的JavaScript不透明度,javascript,html,css,ajax,Javascript,Html,Css,Ajax,我是JavaScript和AJAX的初学者 我有一个JavaScript代码,当select元素的状态改变时,它使用AJAX更新HTML表格元素(包含在div中)。 那部分工作得很好 另一方面,我无法使更新的不透明度动画正常工作。 Chrome的JavaScript控制台告诉我: 未捕获的TypeError:无法读取未定义的属性“style” 在JavaScript代码的第2行 以下是我的JavaScript代码: function fadeIn(objectToFade) { obje
function fadeIn(objectToFade) {
objectToFade.style.opacity = parseFloat(objectToFade.style.opacity) + 0.1;
if ( objectToFade.style.opacity < 1 ) {
setTimeout(function() { fadeIn(objectToFade); }, 50);
}
}
function fadeOut(objectToFade) {
objectToFade.style.opacity = parseFloat(objectToFade.style.opacity) - 0.1;
if ( objectToFade.style.opacity > 0.2 ) {
setTimeout(function() { fadeOut(objectToFade); }, 50);
}
}
function changeClient(client) {
var clientTableDiv = document.getElementById("clientTable");
var xmlhttp = new XMLHttpRequest();
fadeOut(document.getElementById("MetricsStatsByClient"));
xmlhttp.onreadystatechange = function() {
if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
clientTableDiv.innerHTML = xmlhttp.responseText;
fadeIn(document.getElementById("MetricsStatsByClient"));
}
}
xmlhttp.open("GET","functions.php?fct=cc&client=" + client, true);
xmlhttp.send();
}
您没有传入对象引用,因此
objectToFade
未定义
setTimeout(fadeIn, 50);
所以你需要把它传下去
setTimeout(function() { fadeIn(objectToFade); }, 50);
您的
淡出也有同样的问题 您没有传入对象引用,因此objectToFade
未定义
setTimeout(fadeIn, 50);
所以你需要把它传下去
setTimeout(function() { fadeIn(objectToFade); }, 50);
您的淡出也有同样的问题 当您将fadeOut
/fadeIn
传递给setTimeout
调用时,您不会指定它所期望的元素参数:
if ( objectToFade.style.opacity < 1 ) {
setTimeout(function () {
fadeIn(objectToFade);
}, 50);
}
if(objectToFade.style.opacity<1){
setTimeout(函数(){
fadeIn(objectToFade);
}, 50);
}
当您将fadeOut
/fadeIn
传递给setTimeout
调用时,您不会指定它所期望的元素参数:
if ( objectToFade.style.opacity < 1 ) {
setTimeout(function () {
fadeIn(objectToFade);
}, 50);
}
if(objectToFade.style.opacity<1){
setTimeout(函数(){
fadeIn(objectToFade);
}, 50);
}
那没用,是吗?哈哈。我修正了,现在我得到了一个关于不透明度的NaN。参见OP中的编辑1。这不会有帮助,对吗?哈哈。我修正了,现在我得到了一个关于不透明度的NaN。参见OP中的编辑1。这不会有帮助,对吗?哈哈。我修正了,现在我得到了一个关于不透明度的NaN。请参见OPWell中的编辑1。它是否有要开始的不透明度值<代码>控制台.log(document.getElementById(“MetricsStatsByClient”).style.opacity)代码>否,它没有。我假设有一个默认值,但您的代码显示。。。没有什么!谢谢你的提示,我会努力的。它很有效!我的AJAX请求太快,无法显示动画,但我单独测试了它,我有一个很好的流体淡入淡出。谢谢那没用,是吗?哈哈。我修正了,现在我得到了一个关于不透明度的NaN。请参见OPWell中的编辑1。它是否有要开始的不透明度值<代码>控制台.log(document.getElementById(“MetricsStatsByClient”).style.opacity)代码>否,它没有。我假设有一个默认值,但您的代码显示。。。没有什么!谢谢你的提示,我会努力的。它很有效!我的AJAX请求太快,无法显示动画,但我单独测试了它,我有一个很好的流体淡入淡出。谢谢