我如何使这个jQuery代码更加精简,更加清洁和更简洁
问题描述:
我目前已经有一个jQuery函数的负载,我现在正在前端处理一个站点。我并不是一个真正的jQuery'ninja'(尽管我终于开始阅读sitepoint书籍了),所以我确信这段代码可能写得很糟糕,并且可能会更简洁,更精简和更精简。我如何使这个jQuery代码更加精简,更加清洁和更简洁
下面的代码 -
// add hasJS to html to allow for CSS fallbacks
jQuery(function($) {
$('html').addClass('hasJS');
});
// ENDS
// show/hide/kill the upload files modal box
$('.upload').click(function(){
$('.uploader').toggle();
});
$('.creategroup').click(function(){
$('.createnewgroup').toggle();
return false;
});
$('.adduser').click(function(){
$('.addnewuser').toggle();
return false;
});
$('#tap-menu').click(function() {
$('#left-column, #settings, #ortibi, #userprofile').toggle();
});
$('.cancel').click(function(){
$('.uploader, .shareform').hide();
});
$('.connection-type').click(function(){
$('.connectform').toggle();
});
$('.shareit').click(function(){
$('.shareform').show();
});
$(function() {
$('article .folder-items').hide();
$("p.folder").click(function() {
$(this).parent().next(".folder-items").slideToggle("slow");
});
});
$(document).ready(function(){
$('#scrollbar1').tinyscrollbar();
});
// ENDS
$('textarea#txtarea_Message"').autoResize({
// On resize:
onResize : function() {
$(this).css({opacity:0.8});
},
// After resize:
animateCallback : function() {
$(this).css({opacity:1});
},
// Quite slow animation:
animateDuration : 300,
// More extra space:
extraSpace : 40
});
$("input:checkbox").uniform();
$("#check1").live("click", function(){
var two = $("#check2").attr("checked", this.checked);
$.uniform.update(two);
});
现在我可能做了很多错在这里。我能做些什么来改善这些代码?感谢所有帮助:O)
答
这样的事情?
// add hasJS to html to allow for CSS fallbacks
jQuery(function ($) {
$('html').addClass('hasJS');
$('article .folder-items').hide();
$("p.folder").click(function() { $(this).parent().next(".folder-items").slideToggle("slow"); });
$('#scrollbar1').tinyscrollbar();
});
// ENDS
// show/hide/kill the upload files modal box
$('.upload').click(function() { $('.uploader').toggle(); });
$('.creategroup').click(function (e) { e.preventDefault(); $('.createnewgroup').toggle(); });
$('.adduser').click(function (e) { e.preventDefault(); $('.addnewuser').toggle(); });
$('#tap-menu').click(function() { $('#left-column, #settings, #ortibi, #userprofile').toggle(); });
$('.cancel').click(function() { $('.uploader, .shareform').hide(); });
$('.connection-type').click(function() { $('.connectform').toggle(); });
$('.shareit').click(function() { $('.shareform').show(); });
$('textarea#txtarea_Message"').autoResize({
// On resize:
onResize: function() { $(this).css({ opacity: 0.8 }); },
// After resize:
animateCallback: function() { $(this).css({ opacity: 1 }); },
// Quite slow animation:
animateDuration: 300,
// More extra space:
extraSpace: 40
});
$("input:checkbox").uniform();
$("#check1").bind("click", function() {
var two = $("#check2").attr("checked", this.checked);
$.uniform.update(two);
});
+0
e.preventDefault();是键,尤其是如果.adduser/.creategroup是链接而不是按钮。 – 2012-04-06 07:32:08
对我来说不是那个错。 – Alex 2012-04-06 06:55:55
对我来说这看起来不错! – 2012-04-06 06:56:15
这真的很基本你正在做的事情。我认为你将事情分解成组件是正确的。你有你的处理程序来交换你的类,这样你就可以测试你的UI,然后你可以转到实际的业务逻辑并实现在后端实际发生的事情。我强烈建议你想想更具体的问题,你可以在这里问。对Stack Overflow来说,这显然太过泛泛。 :) – jmort253 2012-04-06 06:57:28