player/js/player.js
author veltr
Tue, 21 May 2013 19:12:29 +0200
changeset 2 30e0ed21127c
child 3 5a4dd4e6bbe7
permissions -rw-r--r--
Added slideshow tests
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
2
30e0ed21127c Added slideshow tests
veltr
parents:
diff changeset
     1
$(function() {
30e0ed21127c Added slideshow tests
veltr
parents:
diff changeset
     2
    $(".progress-indicator").draggable({
30e0ed21127c Added slideshow tests
veltr
parents:
diff changeset
     3
        axis: "x",
30e0ed21127c Added slideshow tests
veltr
parents:
diff changeset
     4
        containment: "parent"
30e0ed21127c Added slideshow tests
veltr
parents:
diff changeset
     5
    });
30e0ed21127c Added slideshow tests
veltr
parents:
diff changeset
     6
    $(".chips-list").on( {
30e0ed21127c Added slideshow tests
veltr
parents:
diff changeset
     7
        mouseenter: function() {
30e0ed21127c Added slideshow tests
veltr
parents:
diff changeset
     8
            $(".chip").css("opacity",.3);
30e0ed21127c Added slideshow tests
veltr
parents:
diff changeset
     9
            $(this).css("opacity",1);
30e0ed21127c Added slideshow tests
veltr
parents:
diff changeset
    10
        },
30e0ed21127c Added slideshow tests
veltr
parents:
diff changeset
    11
        mouseleave: function() {
30e0ed21127c Added slideshow tests
veltr
parents:
diff changeset
    12
            $(".chip").css("opacity",1);
30e0ed21127c Added slideshow tests
veltr
parents:
diff changeset
    13
        }
30e0ed21127c Added slideshow tests
veltr
parents:
diff changeset
    14
    }, ".chip");
30e0ed21127c Added slideshow tests
veltr
parents:
diff changeset
    15
    $(".play-button").click(function() {
30e0ed21127c Added slideshow tests
veltr
parents:
diff changeset
    16
        $(this).toggleClass("pause");
30e0ed21127c Added slideshow tests
veltr
parents:
diff changeset
    17
    });
30e0ed21127c Added slideshow tests
veltr
parents:
diff changeset
    18
   
30e0ed21127c Added slideshow tests
veltr
parents:
diff changeset
    19
   var slideshowData = [
30e0ed21127c Added slideshow tests
veltr
parents:
diff changeset
    20
        {
30e0ed21127c Added slideshow tests
veltr
parents:
diff changeset
    21
            url: "http://upload.wikimedia.org/wikipedia/commons/8/81/Waves_lajolla.jpg",
30e0ed21127c Added slideshow tests
veltr
parents:
diff changeset
    22
            title: "Waves at La Jolla",
30e0ed21127c Added slideshow tests
veltr
parents:
diff changeset
    23
            description: "The sea is the connected body of salt water that covers 70 percent of the Earth's surface. The sea is important in moderating the Earth's climate, in providing food and oxygen, in its enormous diversity of life, and for navigation. The study of the sea is called oceanography. The sea has been travelled and explored since ancient times, but its scientific study dates broadly from the voyages of Captain James Cook to explore the Pacific Ocean between 1768 and 1779.",
30e0ed21127c Added slideshow tests
veltr
parents:
diff changeset
    24
            credit: "CC0: Jon Sullivan"
30e0ed21127c Added slideshow tests
veltr
parents:
diff changeset
    25
        }, {
30e0ed21127c Added slideshow tests
veltr
parents:
diff changeset
    26
            url: "http://upload.wikimedia.org/wikipedia/commons/thumb/b/b3/Katsushika_Hokusai_-_Thirty-Six_Views_of_Mount_Fuji-_The_Great_Wave_Off_the_Coast_of_Kanagawa_-_Google_Art_Project.jpg/1280px-Katsushika_Hokusai_-_Thirty-Six_Views_of_Mount_Fuji-_The_Great_Wave_Off_the_Coast_of_Kanagawa_-_Google_Art_Project.jpg",
30e0ed21127c Added slideshow tests
veltr
parents:
diff changeset
    27
            title: "冨嶽三十六景・神奈川沖浪裏",
30e0ed21127c Added slideshow tests
veltr
parents:
diff changeset
    28
            description: "La Grande Vague de Kanagawa (神奈川沖浪裏, Kanagawa-oki nami-ura, littéralement Sous la vague au large de Kanagawa), plus connue sous le nom de La Vague, est une célèbre estampe japonaise du peintre japonais spécialiste de l'ukiyo-e, Hokusai, publiée en 18302 ou en 1831 pendant l'époque d'Edo.\nCette estampe est l'œuvre la plus connue de Hokusai et la première de sa fameuse série « Trente-six vues du mont Fuji »Note 2, dans laquelle l'utilisation du bleu de Prusse renouvelait le langage de l'estampe japonaise. La composition de La Vague, synthèse de l'estampe japonaise traditionnelle et de la « perspective » occidentale, lui valut un succès immédiat au Japon, puis en Europe, où elle fut une des sources d'inspiration des Impressionnistes.",
30e0ed21127c Added slideshow tests
veltr
parents:
diff changeset
    29
            credit: "葛飾北斎"
30e0ed21127c Added slideshow tests
veltr
parents:
diff changeset
    30
        }, {
30e0ed21127c Added slideshow tests
veltr
parents:
diff changeset
    31
            url: "http://upload.wikimedia.org/wikipedia/commons/7/76/Blue_Linckia_Starfish.JPG",
30e0ed21127c Added slideshow tests
veltr
parents:
diff changeset
    32
            title: "Blue Starfish (Linckia laevigata)",
30e0ed21127c Added slideshow tests
veltr
parents:
diff changeset
    33
            description: "Linckia laevigata (sometimes called the blue Linckia or Blue Star) is a species of sea star (commonly known as a starfish) in the shallow waters of tropical Indo-Pacific (a biogeographic region of the Earth's seas, comprising the tropical waters of the Indian Ocean, the western and central Pacific Ocean, and the seas connecting the two in the general area of Indonesia). The variation (Polymorphism, in this case, a color morph) most commonly found is pure, dark or light blue, although observers find the aqua, purple or orange variation throughout the ocean.  These sea stars may grow up to 30 cm in diameter, with rounded tips at each of the arms — some individuals may bear lighter or darker spots along each of their arms. Individual specimens are typically firm in texture, possessing the slightly tubular, elongated arms common to most of other members of the family Ophidiasteridae, and usually possessing short, yellowish tube feet. An inhabitant of coral reefs and sea grass beds, this species is relatively common and is typically found in sparse density throughout its range. Blue Stars live subtidally, or sometimes intertidally, on fine (sand) or hard substrata and move relatively slow (mean locomoation rate of 8.1 cm/min).",
30e0ed21127c Added slideshow tests
veltr
parents:
diff changeset
    34
            credit: "CC-SA: Richard Ling"
30e0ed21127c Added slideshow tests
veltr
parents:
diff changeset
    35
        }, {
30e0ed21127c Added slideshow tests
veltr
parents:
diff changeset
    36
            url: "http://upload.wikimedia.org/wikipedia/commons/0/06/Corrientes-oceanicas.gif",
30e0ed21127c Added slideshow tests
veltr
parents:
diff changeset
    37
            title: "Ocean currents",
30e0ed21127c Added slideshow tests
veltr
parents:
diff changeset
    38
            description: "An ocean current is a continuous, directed movement of ocean water generated by the forces acting upon this mean flow, such as breaking waves, wind, Coriolis effect, cabbeling, temperature and salinity differences and tides caused by the gravitational pull of the Moon and the Sun. Depth contours, shoreline configurations and interaction with other currents influence a current's direction and strength.\nA deep current is any ocean current at a depth of greater than 100m. Ocean currents can flow for great distances, and together they create the great flow of the global conveyor belt which plays a dominant part in determining the climate of many of the Earth’s regions. Perhaps the most striking example is the Gulf Stream, which makes northwest Europe much more temperate than any other region at the same latitude. Another example is Lima, Peru, where the climate is cooler (sub-tropical) than the tropical latitudes in which the area is located, due to the effect of the Humboldt Current.",
30e0ed21127c Added slideshow tests
veltr
parents:
diff changeset
    39
            credit: "Public domain"
30e0ed21127c Added slideshow tests
veltr
parents:
diff changeset
    40
        }
30e0ed21127c Added slideshow tests
veltr
parents:
diff changeset
    41
   ];
30e0ed21127c Added slideshow tests
veltr
parents:
diff changeset
    42
   
30e0ed21127c Added slideshow tests
veltr
parents:
diff changeset
    43
   function slideshow(data) {
30e0ed21127c Added slideshow tests
veltr
parents:
diff changeset
    44
       var currentslide = 0, slideInterval, playing = false;
30e0ed21127c Added slideshow tests
veltr
parents:
diff changeset
    45
       
30e0ed21127c Added slideshow tests
veltr
parents:
diff changeset
    46
       $(".slideshow-image").load(function(e) {
30e0ed21127c Added slideshow tests
veltr
parents:
diff changeset
    47
           var imgData = data[currentslide],
30e0ed21127c Added slideshow tests
veltr
parents:
diff changeset
    48
               el = $(this);
30e0ed21127c Added slideshow tests
veltr
parents:
diff changeset
    49
           el.show();
30e0ed21127c Added slideshow tests
veltr
parents:
diff changeset
    50
           var w = el.width(),
30e0ed21127c Added slideshow tests
veltr
parents:
diff changeset
    51
               h = el.height();
30e0ed21127c Added slideshow tests
veltr
parents:
diff changeset
    52
           $(".slideshow-center").css("height","");
30e0ed21127c Added slideshow tests
veltr
parents:
diff changeset
    53
           $(".slideshow-frame").css("width",w);
30e0ed21127c Added slideshow tests
veltr
parents:
diff changeset
    54
           $(".slideshow-description").css("margin-left",w);
30e0ed21127c Added slideshow tests
veltr
parents:
diff changeset
    55
           $(".slideshow-credits").text(imgData.credit);
30e0ed21127c Added slideshow tests
veltr
parents:
diff changeset
    56
           $(".slideshow-title").text(imgData.title);
30e0ed21127c Added slideshow tests
veltr
parents:
diff changeset
    57
           $(".slideshow-description").html(
30e0ed21127c Added slideshow tests
veltr
parents:
diff changeset
    58
               imgData.description.split(/\n/gm).map(function(l) {
30e0ed21127c Added slideshow tests
veltr
parents:
diff changeset
    59
                   return '<p>' + _.escape(l) + '</p>';
30e0ed21127c Added slideshow tests
veltr
parents:
diff changeset
    60
               }).join("")
30e0ed21127c Added slideshow tests
veltr
parents:
diff changeset
    61
           );
30e0ed21127c Added slideshow tests
veltr
parents:
diff changeset
    62
           var h2 = $(".slideshow-center").height();
30e0ed21127c Added slideshow tests
veltr
parents:
diff changeset
    63
           if (h < h2) {
30e0ed21127c Added slideshow tests
veltr
parents:
diff changeset
    64
               $(".slideshow-image").css("margin-top",Math.floor((h2-h)/2)+"px");
30e0ed21127c Added slideshow tests
veltr
parents:
diff changeset
    65
           }
30e0ed21127c Added slideshow tests
veltr
parents:
diff changeset
    66
       });
30e0ed21127c Added slideshow tests
veltr
parents:
diff changeset
    67
       
30e0ed21127c Added slideshow tests
veltr
parents:
diff changeset
    68
       function showCurrentImage() {
30e0ed21127c Added slideshow tests
veltr
parents:
diff changeset
    69
           $(".slideshow-center").css("height",$(".slideshow-center").height());
30e0ed21127c Added slideshow tests
veltr
parents:
diff changeset
    70
           $(".slideshow-image").attr("src",data[currentslide].url).hide().css("margin-top","");
30e0ed21127c Added slideshow tests
veltr
parents:
diff changeset
    71
           $(".slideshow-credits").empty();
30e0ed21127c Added slideshow tests
veltr
parents:
diff changeset
    72
           $(".slideshow-title").empty();
30e0ed21127c Added slideshow tests
veltr
parents:
diff changeset
    73
           $(".slideshow-description").empty();
30e0ed21127c Added slideshow tests
veltr
parents:
diff changeset
    74
       }
30e0ed21127c Added slideshow tests
veltr
parents:
diff changeset
    75
       
30e0ed21127c Added slideshow tests
veltr
parents:
diff changeset
    76
       function nextImage() {
30e0ed21127c Added slideshow tests
veltr
parents:
diff changeset
    77
           currentslide = (currentslide + 1) % data.length;
30e0ed21127c Added slideshow tests
veltr
parents:
diff changeset
    78
           showCurrentImage();
30e0ed21127c Added slideshow tests
veltr
parents:
diff changeset
    79
       }
30e0ed21127c Added slideshow tests
veltr
parents:
diff changeset
    80
       
30e0ed21127c Added slideshow tests
veltr
parents:
diff changeset
    81
       function togglePlay() {
30e0ed21127c Added slideshow tests
veltr
parents:
diff changeset
    82
           playing = !playing;
30e0ed21127c Added slideshow tests
veltr
parents:
diff changeset
    83
           clearInterval(slideInterval);
30e0ed21127c Added slideshow tests
veltr
parents:
diff changeset
    84
           if (playing) {
30e0ed21127c Added slideshow tests
veltr
parents:
diff changeset
    85
               slideInterval = setInterval(nextImage,3000);
30e0ed21127c Added slideshow tests
veltr
parents:
diff changeset
    86
               $(".slideshow-play-pause").addClass("pause");
30e0ed21127c Added slideshow tests
veltr
parents:
diff changeset
    87
           } else {
30e0ed21127c Added slideshow tests
veltr
parents:
diff changeset
    88
               $(".slideshow-play-pause").removeClass("pause");
30e0ed21127c Added slideshow tests
veltr
parents:
diff changeset
    89
           }
30e0ed21127c Added slideshow tests
veltr
parents:
diff changeset
    90
       }
30e0ed21127c Added slideshow tests
veltr
parents:
diff changeset
    91
       
30e0ed21127c Added slideshow tests
veltr
parents:
diff changeset
    92
       showCurrentImage();
30e0ed21127c Added slideshow tests
veltr
parents:
diff changeset
    93
       
30e0ed21127c Added slideshow tests
veltr
parents:
diff changeset
    94
       $(".slideshow-next").click(nextImage);
30e0ed21127c Added slideshow tests
veltr
parents:
diff changeset
    95
       $(".slideshow-previous").click(function() {
30e0ed21127c Added slideshow tests
veltr
parents:
diff changeset
    96
           currentslide = (currentslide ? currentslide : data.length) - 1;
30e0ed21127c Added slideshow tests
veltr
parents:
diff changeset
    97
           showCurrentImage();
30e0ed21127c Added slideshow tests
veltr
parents:
diff changeset
    98
       });
30e0ed21127c Added slideshow tests
veltr
parents:
diff changeset
    99
       $(".slideshow-play-pause").click(togglePlay);
30e0ed21127c Added slideshow tests
veltr
parents:
diff changeset
   100
       
30e0ed21127c Added slideshow tests
veltr
parents:
diff changeset
   101
   }
30e0ed21127c Added slideshow tests
veltr
parents:
diff changeset
   102
   
30e0ed21127c Added slideshow tests
veltr
parents:
diff changeset
   103
   slideshow(slideshowData);
30e0ed21127c Added slideshow tests
veltr
parents:
diff changeset
   104
   
30e0ed21127c Added slideshow tests
veltr
parents:
diff changeset
   105
});