gpt4 book ai didi

javascript - 无法在 'getComputedStyle' : parameter 1 is not of type 'Window' error 上执行 'Element'

转载 作者:可可西里 更新时间:2023-11-01 01:54:38 26 4
gpt4 key购买 nike

我在使用一些继承代码时遇到了问题 - 它是类似于 FB 的墙上应用程序,注册用户可以在其中发布主题。很多代码是 JS 和 jQuery,我对两者都知之甚少。

发布主题时,主题被添加到数据库中,但屏幕在刷新之前不显示主题,但它应该立即显示 - 当我查看开发人员工具时,我收到错误:

Uncaught TypeError: Failed to execute 'getComputedStyle' on 'Window': parameter 1 is not of type 'Element'.

当我展开错误时,我得到:

curCSS  @   jquery-1.8.3.js:6825
jQuery.extend.css @ jquery-1.8.3.js:6782
isHidden @ jquery-1.8.3.js:6587
defaultPrefilter @ jquery-1.8.3.js:8797
Animation @ jquery-1.8.3.js:8697
doAnimation @ jquery-1.8.3.js:9034
jQuery.extend.dequeue @ jquery-1.8.3.js:1895
(anonymous function) @ jquery-1.8.3.js:1938
jQuery.extend.each @ jquery-1.8.3.js:611
jQuery.fn.jQuery.each @ jquery-1.8.3.js:241
jQuery.fn.extend.queue @ jquery-1.8.3.js:1931
jQuery.fn.extend.animate @ jquery-1.8.3.js:9044
jQuery.fn.(anonymous function) @ jquery-1.8.3.js:9129
(anonymous function) @ script.js:52
fire @ jquery-1.8.3.js:974
self.fireWith @ jquery-1.8.3.js:1084
done @ jquery-1.8.3.js:7803
callback @ jquery-1.8.3.js:8518

script.js 中的第 52 行是:

$('#loadpage').prepend($(response).fadeIn('slow'));

我希望这不是 jQuery 1.9.x 及更高版本中修复的问题,因为升级目前破坏了太多东西以使其可行,但我不知道从哪里开始解决这个问题

我发现了三个错误相同的问题,但可能由于我缺乏 JS 知识而无法从答案中得到任何想法。

取得了一些进展 - 我更新到 jQUery 1.9.1,这次发生了同样的情况,但错误发生了变化。这次错误变成了:

Uncaught TypeError: Cannot set property 'cur' of undefined

指向script.js中的同一行

快速搜索发现Uncaught TypeError with fadeIn in jQuery 1.9建议更改行:

$('#loadpage').prepend($(response).fadeIn('slow'));

到:

$('#loadpage').prepend($(response).show());

当我这样做时,不再有任何错误,但它仍然不能正常工作 - 当发布新帖子时,列表中添加了一个新条目,但它是前一篇帖子的副本。例如,

Post 1
Post 2
Post 3

如果我发布名为 Post 4 的新帖子,则它显示为:

Post 1
Post 1
Post 2
Post 3

当我刷新它时,它会正确显示为 Post 4 等,所以感觉有一些进步,但仍然不尽如人意

响应定义在:

    $('#post').click(function(){
var a = $("#wm").val();
if(a != "")
{
var keepID = $('#keepID').val();
var posted_on = $('#posted_on').val();

$.post("wall.php?value="+a+'&x='+keepID+'&p='+posted_on, {
}, function(response){
//console.log(response);

//$('#load').prepend($(response).fadeIn('slow'));
$('#load').prepend($(response).show());
$("#wm").val("");
});
}


});

这个脚本太他妈可怕了!

最佳答案

您可能需要在显示之前插入该元素。试试这个:

$('#post').click(function(){
var a = $("#wm").val();
if(a != "")
{
var keepID = $('#keepID').val();
var posted_on = $('#posted_on').val();

$.post("wall.php?value="+a+'&x='+keepID+'&p='+posted_on, {
}, function(response){
$(response).prependTo($('#load')).fadeIn('slow');
$("#wm").val("");
});
}
});

如果这不起作用,php 脚本您传递的 GET 参数

中一定有错误

关于javascript - 无法在 'getComputedStyle' : parameter 1 is not of type 'Window' error 上执行 'Element',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30279967/

26 4 0