2016-04-26 47 views
-2

我得到了一个Jquery函数以在两个按钮之间同时切换,但这是一种“脏”的编写代码的方式,我的老板会说。我不想调用函数或不传递Jquery参数,是否有一个简单或更好的方法来编写这个函数,因为我完全是编程新手? 下面Jquery的避免Jquery自我调用功能

var startStopBtn = function() { 

    var startBtn = $('#timerStart'); 
    var stopBtn = $('#timerStop').hide(); 

    var Start = function() { 
     startBtn.hide(); 
     stopBtn.show(); 
    }; 

    var Stop = function() { 
     var remarks2 = $(".textArea-one").val(); 
     if (remarks2 !== "") { 
     startBtn.show(); 
     stopBtn.hide(); 
     } 
    }; 
    return { 
     Start: Start, 
     Stop: Stop 
    }; 
}(jQuery); 
jQuery('#timerStart').on('click', startStopBtn.Start); 
jQuery('#timerStop').on('click', startStopBtn.Stop); 
+0

看来你问的代码审查,这将是对[codereview.se]为宜。请回顾[问],因为这似乎是一个高度置评的问题。 – zzzzBov

回答

0

我觉得代码可以以多种方式来完成,这只是其中之一。

看起来像首先你想隐藏stopBtn所以创建一个函数来做到这一点。在页面加载时调用该函数或创建一个函数,并在页面加载时调用它。在这里我创建了一个你应该随时调用的函数。如果你不想这样做,只需删除该功能。

然后在“点击”#timerStart或#timerStop时完成两个不同的功能。

这是我的版本,但我敢肯定,它可以改善:

function startStopBtn(){ 
     $('#timerStop').hide(); 
    }; 

    $('#timerStart').on('click', function(){ 
     $('#timerStart').hide(); 
     $('#timerStop').show(); 
    }); 

    $('#timerStop').on('click', function(){ 
     var remarks2 = $(".textArea-one").val(); 
      if (remarks2 !== "") { 
      $('#timerStart').show(); 
      $('#timerStop').hide(); 
      } 
    });