【发布时间】:2016-02-16 17:01:49
【问题描述】:
我一直在编辑一些 jQuery,它似乎只是在函数中添加了 IF 语句。函数做什么或 if 语句做什么并不那么重要。我只是想知道是否有更好/更清洁的方法来编写以下内容:
scrollToTop: function() {
var offset = 160;
var duration = 500;
jQuery(window).scroll(function() {
if (jQuery(this).scrollTop() > offset) {
jQuery('#top-link-block').fadeIn(duration);
} else {
jQuery('#top-link-block').fadeOut(duration);
}
if (jQuery('#top-link-block').offset().top + jQuery('#top-link-block').height() >= jQuery('#footer-wrapper').offset().top - 10)
jQuery('#top-link-block').css('position', 'absolute');
if (jQuery(document).scrollTop() + window.innerHeight < jQuery('#footer-wrapper').offset().top)
jQuery('#top-link-block').css('position', 'fixed');
if (jQuery('#fixed-toolbar-menu')[0]) {
jQuery('#top-link-block').css({
bottom: 150
});
}
});
【问题讨论】:
-
它的作用“是”非常重要,它有助于决定对给定函数进行编码的“最佳方式”。
-
另外,这种问题更适合codereview.stackexchange.com
-
这段代码有什么问题(如果有的话)?只是难以阅读?或者它没有按预期执行或者是跳动/紧张。如果在 150 到 170 之间反复快速滚动,它的功能会有点奇怪。
标签: javascript jquery