Duda sobre javascript,valores para variable comprendidos entre dos numeros

Hola!
Espero que puedan ayudarme con el siguiente problema:
Tengo una variable, de valor 1, que va aumentando de valor(en ocasiones aumenta una unidad y en otras dos) al ejecutarse un bucle en un script. Quisiera que el valor de la variable citada quedase comprendido entre los valores 1 y 7, de manera que si el valor de la variable tras finalizar el bucle fuese 8, su valor cambiase a 1, si fuese 9, su valor cambiase a 2.
Necesito el programa escrito, preferentemente, en javascrip.
¿Alguno puede ofrecerme un codigo para poder conseguir este objetivo?
Gracias
Hola:

¿Por qué utilizar un bucle y no la función random? Esta función genera números aleatorios y se le puede asignar un piso y un techo:

  // Devuelve un número al azar entre min y max.
  // 
  // version: 1109.2015
  // Discusión en (inglés): http://phpjs.org/functions/rand
  // + Original: Leslie Hoare
  // + Error arreglado por: Onno Marsman
  // * Ejemplo 1: rand(1, 1);
  // * Devuelve 1
  function rand (min, max) {
   
    var argc = arguments.length;
    if (argc === 0) { // Si no se le pasa el valor mínimo y máximo, entonces min valdrá 0 y max valdrá 2147483647.
        min = 0;
        max = 2147483647;
    } else if (argc === 1) {
        throw new Error('Alerta: rand() espera exactamente 2 parámetros y solo se le entregó 1');
    }
    return Math.floor(Math.random() * (max - min + 1)) + min;
  }

Como verás, el código no es mío, pero funciona :D (lo comprobé). Luego solo quedaría comprobar que número fue generado:

<script type="text/javascript">
var min = 1;
var max = 7;
var rand = rand(min, max);

switch(rand) {
  case 1:
    rand = 9;
    break;
  case 2:
  case 3:
  case 4:
    rand = 10;
    break;
  case 9:
    rand = 2;
    break;
}

  // Devuelve un número al azar entre min y max.
  // 
  // version: 1109.2015
  // Discusión en (inglés): http://phpjs.org/functions/rand
  // + Original: Leslie Hoare
  // + Error arreglado por: Onno Marsman
  // * Ejemplo 1: rand(1, 1);
  // * Devuelve 1
  function rand (min, max) {
   
    var argc = arguments.length;
    if (argc === 0) { // Si no se le pasa el valor mínimo y máximo, entonces min valdrá 0 y max valdrá 2147483647.
        min = 0;
        max = 2147483647;
    } else if (argc === 1) {
        throw new Error('Alerta: rand() espera exactamente 2 parámetros y solo se le entregó 1');
    }
    return Math.floor(Math.random() * (max - min + 1)) + min;
  }
</script>

Si necesitas que sea con el bucle, entonces avísame y te ayudo con eso.

Saludos.