gpt4 book ai didi

javascript - 如何使这个 jQuery 驱动的页面更快速?

转载 作者:塔克拉玛干 更新时间:2023-11-02 21:37:12 26 4
gpt4 key购买 nike

我有一个联系脚本。它使用 jQuery 来处理它的 ajax 请求和动画。

我还将它与 hashchange 插件一起使用来修复后退按钮。慢的部分就在那里。

完成'翻转'的动画后,表格慢慢消失。浏览器似乎会阻塞一秒钟。我试图让它变得活泼(无阻塞)。

下面是负责处理哈希变化事件的函数:

handleHashChange : function () {

// Get the name of the object and cache it
var self = this,

// Get the current hash
hash = window.location.hash,

// Cache the form height var
formHeight = '';

// If the hash is #send or #error, don't do anything
if (hash === "#sent" || hash === "#error") {
return;
}

// Change the page title back to the default
if(self.documentTitle && self.documentTitle != undefined) {
document.title = self.documentTitle;
}

// Reset all inputs in the form
self.inputs.val('').removeAttr('checked').removeAttr('selected');

// Get the height of the form
formHeight = self.getHeight(self.form);

// Show the transition
self.showTransition(self.response, formHeight, function() {

// Show the form
self.form.fadeIn('fast', function() {

// Show the button
self.button[0].style.display = 'block';

// Focus the first input
self.inputs[0].focus();

})

})
}

整个代码可以从下面的链接看到,它有完整的文档:

http://www.coolcontact.co.cc/beta/1.3/js/main.js

你可以看到我使用了很多我在互联网上找到的技巧来优化这个脚本,除了使用 javascript 的原生 'for' 代替 '$.each()' ,但这并不是什么大不了的事.

如果有人想看到缓慢,请尝试从下面的链接发送一条空消息(验证被禁用),然后单击浏览器中的后退按钮:

(注意:它不是英文的,但我猜它是不言自明的 ^^)

http://www.coolcontact.co.cc/beta/1.3/

那么我怎样才能让它更活泼呢?

最佳答案

我认为它已经相当快了,但我注意到您的代码有一些问题。

这个“if”语句有点多余。

if(self.documentTitle && self.documentTitle != undefined) {
document.title = self.documentTitle;
}

如果“self.documentTitle”的值为“undefined”,调用“self.documentTitle”将返回“false”,因此您不需要第二个“self.documentTitle != undefined”。

您可以改用以下方法:

if(self.documentTitle){
document.title = self.documentTitle;
}

请记住,值 false、null、undefined、0 和空字符串的计算结果都是 false bool 值。

关于javascript - 如何使这个 jQuery 驱动的页面更快速?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4136319/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com