Advertisement
Guest User

Peer review

a guest
Apr 29th, 2019
89
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.19 KB | None | 0 0
  1. // This is an improved version of https://stackoverflow.com/a/5835533/1175714
  2.  
  3. function slideLoop(currMarg, selector){
  4. let contStyle = document.querySelector(selector).style;
  5.  
  6. return function(){
  7. currMarg = (currMarg == 1800) ? (0) : (currMarg + 600);
  8. contStyle.marginLeft = "-%dpx".replace("%d", curMarg);
  9. }
  10. }
  11.  
  12. function slide() {
  13. return setInterval(slideLoop(0, "#container"), 3000);
  14. }
  15.  
  16.  
  17. // Notes:
  18. // Use document.querySelector(css_selector) instead of document.getElementById(id)
  19. // Always track setInterval(fn, interval)'s return value so it can later be closed with clearInterval(interval_id)
  20. // Put the interval's callback into its own formal function for readability and maintainability
  21. // If state is kept with the callback, the callback should be returned from another function (slideLoop) to form a closure.
  22. // Use proper whitespace. Logical blocks that do different things should be separated by one empty line
  23. // Avoid "string" + value + "string" + ... Make a format function or use String.prototype.replace(string/regex, new_string)
  24. // Always surround the arguments of your ternary expressions with parens. It aids readability and prevents bugs.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement