如何缩短这个 jQuery onClick FadeOut to next Page 的代码?
How to shorten this jQuery onClick FadeOut to next Page code?
如果您单击 Link,我正在尝试做一个很好的 FadeOut
。以下代码完美运行。
我的问题是:如何缩短这些功能? 演示:Here
$(document).ready(function () {
var newLocation = '';
$('a, .fadeLink').on('click', function(e){
e.preventDefault();
newLocation = this.href;
$('body').fadeOut(1000, changeLocation);
});
function changeLocation() {
window.location = newLocation;
}
});
您的代码实际上看起来已经很不错了。您可以通过使用箭头函数而不是附加函数来缩短它(不一定更好),这样您就可以关闭 link:
$(document).ready(function () {
$('a, .fadeLink').on('click', function(e){
e.preventDefault();
$('body').fadeOut(1000, () => window.location = this.href);
});
});
您可以通过在关闭 <body>
标签之前放置 JavaScript 代码来失去 $(document).ready
功能。此外,您不必在上层范围内定义 newLocation
,您可以将其传递给 changeLocation
函数:
$('a, .fadeLink').on('click', function(e) {
e.preventDefault();
var location = this.href;
$('body').fadeOut(1000, function() {
changeLocation(location);
});
});
function changeLocation(location) {
window.location = location;
}
您也可以删除 changeLocation
函数:
$('a, .fadeLink').on('click', function(e){
e.preventDefault();
var location = this.href;
$('body').fadeOut(1000, function() {
window.location = location;
});
});
归根结底,这是一个偏好问题。请记住,更紧凑的代码并不总是更好的代码。
如果您单击 Link,我正在尝试做一个很好的 FadeOut
。以下代码完美运行。
我的问题是:如何缩短这些功能? 演示:Here
$(document).ready(function () {
var newLocation = '';
$('a, .fadeLink').on('click', function(e){
e.preventDefault();
newLocation = this.href;
$('body').fadeOut(1000, changeLocation);
});
function changeLocation() {
window.location = newLocation;
}
});
您的代码实际上看起来已经很不错了。您可以通过使用箭头函数而不是附加函数来缩短它(不一定更好),这样您就可以关闭 link:
$(document).ready(function () {
$('a, .fadeLink').on('click', function(e){
e.preventDefault();
$('body').fadeOut(1000, () => window.location = this.href);
});
});
您可以通过在关闭 <body>
标签之前放置 JavaScript 代码来失去 $(document).ready
功能。此外,您不必在上层范围内定义 newLocation
,您可以将其传递给 changeLocation
函数:
$('a, .fadeLink').on('click', function(e) {
e.preventDefault();
var location = this.href;
$('body').fadeOut(1000, function() {
changeLocation(location);
});
});
function changeLocation(location) {
window.location = location;
}
您也可以删除 changeLocation
函数:
$('a, .fadeLink').on('click', function(e){
e.preventDefault();
var location = this.href;
$('body').fadeOut(1000, function() {
window.location = location;
});
});
归根结底,这是一个偏好问题。请记住,更紧凑的代码并不总是更好的代码。