www.webdeveloper.com
Results 1 to 3 of 3

Thread: code help

  1. #1
    Join Date
    Aug 2011
    Posts
    3

    code help

    Hi,
    I am a newbie to serious javascript and I have built this (code below) and everything works fine except i can't get the tick to work, I get "ReferenceError: Can't find variable: Tick"

    Any ideas, also could someone do code critique so i know where i'm going wrong.

    Cheers
    Kev
    Code:
    var Homepage = {
      
    init: function(){
      Homepage.bindEvents();
    },
    bindEvents: function(){
      var display = Drupal.settings.display;
      
      $("#promo-panel").width("230px");
      
      $('h3#title').text(Drupal.settings.hblock.title);
      $('#sub-title').text(Drupal.settings.hblock.subTitle);
      $('#highlight-text').text(Drupal.settings.hblock.text);
     
      if (display == 1) {
      	$('#highlight-info').append('<a href="#" id="highlight-link" class="watch">Watch Live Now!</a>');
      }
      if(display == 2) {
        $('#highlight-info').append('<div id="timer"><h3 class="bottom">Watch This Live Event In</h3><span id="countdown" class="bottom"></span></div>');
    	Homepage.TimerDisplay();
    	$('#highlight-info').append('<a href="#" id="highlight-link" class="watch-preview">Watch The Preview</a>');
      }; 
       
      $('#promo-panel').append('<div id="live-replace"></div>');
      
      $('.watch-preview').toggle(
        function(){
          $('#promo-panel').stop().animate({width:"758px"}, 1000, function() {Homepage.add_player();});
          $('.watch-preview').empty().append('Close The Preview');
        },
        function(){
          jwplayer().remove();
          $('#promo-panel').stop().animate({width:"230px"}, 1000);
          $('.watch-preview').empty().append('Watch The Preview Again');
        }
      );
    },
    
    TimerDisplay: function() {
      var showtime = Drupal.settings.showtime;
      var nowtime = Drupal.settings.timestamp;
      var counttime = showtime - nowtime;
    	
      function CreateTimer(TimerID) {	
        Timer = document.getElementById(TimerID);
        TotalSeconds = counttime;0
        UpdateTimer()
        window.setTimeout("Tick()", 1000);
      }
      
      function Tick() {
        if (TotalSeconds <= 0) {
          return;
        }
        TotalSeconds -= 1;
        UpdateTimer()
        window.setTimeout("Tick()", 1000);
      }
    
      function UpdateTimer() {
        var oneMinute=60;
        var oneHour=60*60;
        var oneDay=60*60*24;
        var dayfield=Math.floor(TotalSeconds/oneDay);
        var tfhourfield=Math.floor(TotalSeconds/oneHour);
        var hourfield=Math.floor((TotalSeconds-dayfield*oneDay)/oneHour);
        var minutefield=Math.floor((TotalSeconds-dayfield*oneDay-hourfield*oneHour)/oneMinute);
        var secondfield=Math.floor((TotalSeconds-dayfield*oneDay-hourfield*oneHour-minutefield*oneMinute));      
        
        if(tfhourfield <= '24') {
          Timer.innerHTML = '<table><tbody><tr><th class="c1">' +tfhourfield + '</th><th class="c2">' + minutefield + '</th><th class="c3">' + secondfield + '</th></tr><tr><td class="c1">Hours</td><td class="c2">Minutes</td><td class="c3">Seconds</td></tr></tbody></table>';
        } if(tfhourfield >= '24') {
          Timer.innerHTML = '<table><tbody><tr><th class="c1">'+ dayfield +'</th><th class="c2">'+ hourfield +'</th><th class="c3">'+ minutefield +'</th></tr><tr><td class="c1">Days</td><td class="c2">Hours</td><td class="c3">Minutes</td></tr></tbody></table>';
        } 
      }
      
      $(function() {
        $('#countdown').append(CreateTimer("countdown", counttime));
        //$('#countdown').text("Your text here");
      });  
    
    },
    
    
    add_player: function() { 
        jwplayer('live-replace').setup({
          'autostart': 'true',
          'wmode': 'opaque',
          'width': '100%',
          'height': '100%',
          'events': {
            onComplete: function() {
              jwplayer().remove();
              $('#promo-panel').stop().animate({width:"230px"}, 1000);
              $('.watch-preview').empty().append('Watch The Preview Again');
            }
          },
          'modes': [
            { 'type': "flash", 
              'src': "/sites/default/files/player/player59/player.swf", 
              'config': {
                'playlist': [
                  {
                    'title': 'Bitrate tests',
                    'provider': 'rtmp',
                    'streamer': Drupal.settings.kitcloud.streamer,
                    'levels': [
                       {'bitrate': "1328", 'width': '1024', 'file': Drupal.settings.kitcloud.bitrate1},
                      {'bitrate': "628", 'width': '640', 'file': Drupal.settings.kitcloud.bitrate2},
                      {'bitrate': "364", 'width': '360', 'file': Drupal.settings.kitcloud.bitrate3},
                    ]
                  }
                ]
              }
            },
            { 'type': "html5",
              'src': "/sites/default/files/player/player59/player.swf", 
              'config': {
                'file': Drupal.settings.kitcloud.ios,
                'provider': 'video'
              }
            }
          ]
      });
      }
    };
    
    Drupal.behaviors.Homepage = function(context){
      Homepage.init();
    };

  2. #2
    Join Date
    Dec 2011
    Location
    Centurion, South Africa
    Posts
    795
    Try changing where you're creating the timeouts to:

    Code:
    window.setTimeout(Tick, 1000);
    JavaScript: Learn | Validate | Compact | bionoid

  3. #3
    Join Date
    Aug 2011
    Posts
    3

    thank you

    cheers, works brilliant
    Kev

Thread Information

Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  
HTML5 Development Center



Recent Articles