Image rotation script not working with PNG file.

Discussion in 'JavaScript' started by ljCharlie, Mar 8, 2012.

  1. #1
    I have this simple Javascript that will work with JPEG/jpg file extension but not PNG file.
    /* Specifies the period of time between updates:
        month - once a month
        date - once per every day of the month (repeats the next month)
        weekday - once per every day of the week (repeats the next week)
        hour - once per hour (repeats the next day)
        request - once per browser request (default)
    */
    
    var updatePeriods = new Array("month","date","weekday","hour","request")
    
    // Invoked to display rotated HTML content in a Web page. The period
    // argument should be an element of the updatePeriods array.
    
    function displayRotatedContent(period) {
     var updatePeriod = -1
     for(var i=0;i<content.length;++i) {
      if(period.toLowerCase() == updatePeriods[i].toLowerCase()) {
       updatePeriod = i
       break
      }
     }
     var s = selectHTML(updatePeriod)
     document.write(s)
    }
    
    function selectHTML(updatePeriod) {
     var n = 0
     var max = content.length
     var d = new Date()
     switch(updatePeriod) {
      case 0: // Month (0 - 11)
       n = d.getMonth()
       break
      case 1: // Date (1 - 31 scaled to 0 - 30)
       n = d.getDate() - 1
       break
      case 2: // Weekday (0 - 6)
       n = d.getDay()
       break
      case 3: // Hour (0 - 23)
       n = d.getHours()
       break
      case 4: // Request (Default)
      default:
       n = selectRandom(max)
     }
     n %= max 
     return content[n]
    }
    
    // Select a random integer that is between 0 (inclusive) and max (exclusive)
    function selectRandom(max) {
     var r = Math.random()
     r *= max
     r = parseInt(r)
     if(isNaN(r)) r = 0
     else r %= max
     return r
    }
    Code (markup):
    Does anyone know how to resolve this? The error I got is "NaN" instead of a picture.

    Many thanks in advance.
     
    ljCharlie, Mar 8, 2012 IP
  2. JohnnySchultz

    JohnnySchultz Peon

    Messages:
    277
    Likes Received:
    4
    Best Answers:
    7
    Trophy Points:
    0
    #2
    which part is giving you NaN?
     
    JohnnySchultz, Mar 9, 2012 IP
  3. Ardolix

    Ardolix Peon

    Messages:
    29
    Likes Received:
    0
    Best Answers:
    0
    Trophy Points:
    0
    #3
    In what browser? IE?
     
    Ardolix, Mar 9, 2012 IP