// jquery 处理UI的代码
//...
$p.scrollTop($p.find('.show-me').offset().top);
// 还有很多其他处理UI的代码
// ...
$(window).on('resize', function() {
// 当浏览器窗口大小被调整后
// 需要重新初始化
// 代码与前面相同
$p.scrollTop($p.find('.show-me').offset().top);
// 还有很多其他处理UI的代码
// ...
});
像这样的代码如何优化啊,相同的代码写了两遍,感觉很不好!
PHP中文网2017-04-10 15:09:19
function ui(){//.....}
ui();
window.on('resize',function(){
ui();
})
高洛峰2017-04-10 15:09:19
把相同的代码抽离出来封装成一个函数
javascript
var renderView = function(){ $p.scrollTop($p.find('.show-me').offset().top); }; $(window).on('resize', function() { renderView(); });
另外,resize
是高频触发事件,你还需要考虑函数节流
浅谈javascript的函数节流
浅谈 Underscore.js 中 _.throttle 和 _.debounce 的差异