jQuery

October 30, 2011

Detect an iPad and provide a non-Flash alternative

try{ ["iPad","iPod","iPhone"].each(

  function(i){

    if(navigator.userAgent.indexOf(i) > -1){

      //Do iPad stuff here

      }

   }); } catch(e){ var meh = 'meh'; }

Posted by pj at 08:40 PM | Comments (0)

October 19, 2011

Alternately colour the rows in a table with jQuery

var color = '#efefef';

var counter = 0;

function switch_bg(counter){ 

    if(eval(counter/2) == eval(counter/2).toFixed(0)){ return color; } 

    else { return 'white'; } 

    }

jQuery('tbody tr').each(

	function(){ 
	
		counter++;  
		
		jQuery(this).find('td').each(
		
			function(){ 
			
				jQuery(this).css({ 'background-color' : switch_bg(counter) }); 
				
				}
			
			);
			
		}
			 
	);

Posted by pj at 06:42 PM

May 13, 2010

Creating a YouTube Gallery using jQuery Fancybox

Creating a YouTube Gallery using jQuery Fancybox - Aaron Benson | DFW Interactive Designer/Developer | Flash Enthusiast

Posted by pj at 03:34 PM | Comments (0)

May 07, 2010

JQuery $.get() caching in IE 7

Having extensively used jQuery AJAX all over the site we built in Feb have now discovered that IE 7 caches GET requests if the URL is the same? WTF? That's helpful for regularly updated feeds. Thanks MS. My day will now consist of finding every GET call in every CMS page and application script and pasting { blah : 1 , 'random' : Math.floor(Math.random()*1000 ) } into it. RSI here we come.

Posted by pj at 01:22 PM | Comments (0)

December 10, 2009

FullCalendar Code

This is a genius piece of jQuery:

http://arshaw.com/fullcalendar/

<script type="text/javascript">
var events = 
[
{ title: 'Dummy', start: new Date(1900,1,1)}
,{
title: "Reuters Datastream Training",
start: "2009-09-22T16:00:00+01:00",
end: "2009-09-22T17:00:00+01:00",
allDay: false,
url: "http://www.business-school.ed.ac.uk/mybiz/msc-accounting-and-finance/my-study/timetables/msc-accounting-and-finance/reuters-datastream-training"
}

,{
title: "Pom tiddly pom",
start: "2009-11-23T10:59:00+00:00",
end: "2009-11-23T12:49:00+00:00",
allDay: false,
url: "http://www.business-school.ed.ac.uk/mybiz/msc-accounting-and-finance/my-study/timetables/msc-accounting-and-finance/pom-tiddly-pom"
}

,{
title: "Management of R and D and Product Innovation",
start: "2009-02-16T16:10:00+00:00",
end: "2009-02-16T18:00:00+00:00",
allDay: false,
url: "http://www.business-school.ed.ac.uk/mybiz/msc-accounting-and-finance/my-study/timetables/msc-accounting-and-finance/management-of-r-and-d-and-product-innovation2"
}


];
</script>
<script type="text/javascript">
var recurrences = 
[
{ title: 'Dummy' }
,{
title: "Foundations of Finance Theory",
start: "2009-09-22T14:00:00+01:00",
end: "2009-09-22T15:50:00+01:00",
allDay: false,
url: "http://www.business-school.ed.ac.uk/mybiz/msc-accounting-and-finance/my-study/timetables/msc-accounting-and-finance/foundations-of-finance-theory",
frequency: "FREQ=WEEKLY;INTERVAL=1;UNTIL=20091201T000000",
stop_date: "2009-12-01T00:00:00+00:00"
}

,{
title: "Analysis of Corporate Financial Information Lecture",
start: "2009-09-24T11:10:00+01:00",
end: "2009-09-24T13:00:00+01:00",
allDay: false,
url: "http://www.business-school.ed.ac.uk/mybiz/msc-accounting-and-finance/my-study/timetables/msc-accounting-and-finance/analysis-of-corporate-financial-information-lecture",
frequency: "FREQ=WEEKLY;INTERVAL=1;UNTIL=20091203T000000",
stop_date: "2009-12-03T00:00:00+00:00"
}

,{
title: "My test title",
start: "2009-12-02T16:00:00+00:00",
end: "2009-12-02T17:50:00+00:00",
allDay: false,
url: "http://www.business-school.ed.ac.uk/mybiz/msc-accounting-and-finance/my-study/timetables/msc-accounting-and-finance/my-test-title",
frequency: "FREQ=WEEKLY;INTERVAL=2;UNTIL=20100324T000000",
stop_date: "2010-03-24T00:00:00+00:00"
}

,{
title: "Derivatives Tutorial Group 1",
start: "2010-01-11T09:00:00+00:00",
end: "2010-01-11T10:00:00+00:00",
allDay: false,
url: "http://www.business-school.ed.ac.uk/mybiz/msc-accounting-and-finance/my-study/timetables/msc-accounting-and-finance/derivatives-tutorial",
frequency: "FREQ=WEEKLY;INTERVAL=1;UNTIL=20100221T000000",
stop_date: "2010-02-21T00:00:00+00:00"
}

,{
title: "Management of R and D and Product Innovation",
start: "2010-01-12T16:10:00+00:00",
end: "2010-01-12T18:00:00+00:00",
allDay: false,
url: "http://www.business-school.ed.ac.uk/mybiz/msc-accounting-and-finance/my-study/timetables/msc-accounting-and-finance/management-of-r-and-d-and-product-innovation",
frequency: "FREQ=WEEKLY;INTERVAL=1;UNTIL=20100214T000000",
stop_date: "2010-02-14T00:00:00+00:00"
}

,{
title: "Doing Business Projects in Emerging Markets",
start: "2010-01-11T09:00:00+00:00",
end: "2010-01-11T10:50:00+00:00",
allDay: false,
url: "http://www.business-school.ed.ac.uk/mybiz/msc-accounting-and-finance/my-study/timetables/msc-accounting-and-finance/doing-business-projects-in-emerging-markets",
frequency: "FREQ=WEEKLY;INTERVAL=1;UNTIL=20100221T000000",
stop_date: "2010-02-21T00:00:00+00:00"
}

,{
title: "Derivatives Tutorial Group 2",
start: "2010-01-11T10:00:00+00:00",
end: "2010-01-11T11:00:00+00:00",
allDay: false,
url: "http://www.business-school.ed.ac.uk/mybiz/msc-accounting-and-finance/my-study/timetables/msc-accounting-and-finance/derivatives-tutorial-group-2",
frequency: "FREQ=WEEKLY;INTERVAL=1;UNTIL=20100221T000000",
stop_date: "2010-02-21T00:00:00+00:00"
}

,{
title: "Corporate Strategy",
start: "2010-01-11T21:00:00+00:00",
end: "2010-01-11T22:50:00+00:00",
allDay: false,
url: "http://www.business-school.ed.ac.uk/mybiz/msc-accounting-and-finance/my-study/timetables/msc-accounting-and-finance/corporate-strategy",
frequency: "FREQ=WEEKLY;INTERVAL=1;UNTIL=20100221T000000",
stop_date: "2010-02-21T00:00:00+00:00"
}

,{
title: "Advertising Management",
start: "2010-01-11T14:00:00+00:00",
end: "2010-01-11T15:50:00+00:00",
allDay: false,
url: "http://www.business-school.ed.ac.uk/mybiz/msc-accounting-and-finance/my-study/timetables/msc-accounting-and-finance/advertising-management",
frequency: "FREQ=WEEKLY;INTERVAL=1;UNTIL=20100221T000000",
stop_date: "2010-02-21T00:00:00+00:00"
}


];

function get_event_recurrences(recurrences, events){

    var end_date;

    for(i in recurrences){

      if(i > 0){

        var this_one = recurrences[i];

        var number_of_days = 7;

        if(this_one['frequency'].match(/DAILY/)){ number_of_days = 1; }
        if(this_one['frequency'].match(/MONTHLY/)){ number_of_days = 30; }
        if(this_one['frequency'].match(/WEEKLY/)){ number_of_days = 7; }

        var stop_date = eval($.fullCalendar.parseDate(this_one['stop_date']).getTime()) / 1000;

        end_date = eval($.fullCalendar.parseDate(this_one['end']).getTime()) / 1000;

        var start_date = eval($.fullCalendar.parseDate(this_one['start']).getTime()) / 1000;

        var interval = (60 * 60 * 24) * number_of_days * extract_interval(this_one['frequency']);

        //alert((eval(stop_date) - eval(start_date)) / interval);

        for(d = start_date; d < stop_date; d = d + interval){

          var start = d;

          var new_oc = {};

          new_oc['title'] = this_one['title'];

          new_oc['url'] = this_one['url'];
          
          new_oc['allDay'] = this_one['allDay'];

          new_oc['start'] = new Date(start*1000);

          new_oc['end'] = new Date(end_date*1000); 

          end_date = end_date + interval;

          events.push(new_oc);

          } 
        
        }

      }

      return events;

    }

function extract_interval(frequency){

    var da_list = frequency.split(';');

    var interval = da_list[1];

    var da_number = interval.split('=');

    return eval(da_number[1]);

    }


</script><script type="text/javascript">

var now = new Date();

$(document).ready(

    function(){

        $('#calendar').fullCalendar(
{header: {left: 'prev,next today',center: 'title', right: 'month,agendaWeek,agendaDay'},
columnFormat: {
        week: 'ddd d MMM', // Mon 9/7
        day: 'dddd d MMM'  // Monday 9/7
},

editable: false,
firstHour: 9, //eval(now.getHours()),
minTime: '8:30am',
maxTime: '8:30pm',
timeFormat: 'H:mm',
firstDay: 1,
defaultView: 'agendaWeek',
currentTimezone: 'Europe/London',
events: get_event_recurrences(recurrences, events)});

        }
);
</script>

Posted by pj at 04:42 PM | Comments (0)