Team:British Columbia

From 2011.igem.org

(Difference between revisions)
Line 9: Line 9:
#slideshow {width:620px; float:left; background-color: #800517; margin-left: 8px;  margin-top:10px;}
#slideshow {width:620px; float:left; background-color: #800517; margin-left: 8px;  margin-top:10px;}
#links {width:310px;float:right; background-color: white; margin-left: 8px;  margin-top:10px;}
#links {width:310px;float:right; background-color: white; margin-left: 8px;  margin-top:10px;}
-
#slideshow-container  { width:512px; height:384px; position:relative; }
 
-
#slideshow-container img { display:block; position:absolute; top:0; left:0; z-index:1; }
 
-
.toc          { position:absolute; left:0; bottom:20px; z-index:2; display:block; width:20px; background:#6D84B4; color:#fff; text-align:center; padding:3px; text-decoration:none; }
 
-
.toc-active        { background:#fff; color:#6D84B4; }
 
-
#next          { position:absolute; bottom:20px; right:20px; z-index:2; display:block; width:20px; background:#6D84B4; color:#fff; text-align:center; padding:3px; text-decoration:none; }
 
-
#previous        { position:absolute; bottom:20px; right:60px; z-index:2; display:block; width:20px; background:#6D84B4; color:#fff; text-align:center; padding:3px; text-decoration:none; }
 
-
#slideshow-container-controls { margin:10px 0 0 0; }
 
-
  #slideshow-container-controls img { cursor:pointer; width:100px; height:75px; border:1px solid #ccc; float:left; margin:0 1px 0 0; }
 
-
#slideshow-container-caption  { height:70px; position:absolute; bottom:0; left:0; right:0; background:#000; z-index:10; overflow:hidden; }
 
-
  * html #slideshow-container-caption { width:100%; }
 
-
  #slideshow-container-caption h3 { font-size:24px; font-weight:bold; color:#fff; padding:10px 10px 3px 10px; }
 
-
  #slideshow-container-caption p  { color:#eee; font-size:11px; padding:0 10px 10px 10px; }
 
-
.toc-active        { border-color:#000; }
 
</style>
</style>
-
<!--
 
<div id="slideshow"><center></br>
<div id="slideshow"><center></br>
<img src="https://static.igem.org/mediawiki/2011/4/42/Ubcigemlogowelcome.jpg">
<img src="https://static.igem.org/mediawiki/2011/4/42/Ubcigemlogowelcome.jpg">
</br><font color=white><b><br/>
</br><font color=white><b><br/>
UBC iGEM 2011: iSYNTHASE, Monoterpene Production in Yeast</font></b></center></br></div>
UBC iGEM 2011: iSYNTHASE, Monoterpene Production in Yeast</font></b></center></br></div>
-
-->
+
 
<body>
<body>
Line 60: Line 46:
<td><center><a href="http://www.ubcigem.com/"><b>UBC iGEM Club</b><img src="http://www.ubcigem.com/wp-content/uploads/2009/09/UBCiGEMLogo-300x285.jpg" width=85></a><br></td>
<td><center><a href="http://www.ubcigem.com/"><b>UBC iGEM Club</b><img src="http://www.ubcigem.com/wp-content/uploads/2009/09/UBCiGEMLogo-300x285.jpg" width=85></a><br></td>
</table>
</table>
-
 
-
<script type="text/javascript">
 
-
<!--
 
-
window.addEvent('domready',function() {
 
-
  /* settings */
 
-
  var showDuration = 3000;
 
-
  var container = $('slideshow-container');
 
-
  var images = container.getElements('img');
 
-
  var currentIndex = 0;
 
-
  var interval;
 
-
  var toc = [];
 
-
  var tocWidth = 20;
 
-
  var tocActive = 'toc-active';
 
-
 
-
/* new: starts the show */
 
-
  var start = function() { interval = show.periodical(showDuration); };
 
-
  var stop = function() { $clear(interval); };
 
-
 
-
  /* opacity and fade */
 
-
  images.each(function(img,i){
 
-
    if(i > 0) {
 
-
      img.set('opacity',0);
 
-
    }
 
-
  });
 
-
 
-
  /* worker */
 
-
  var show = function(to) {
 
-
    images[currentIndex].fade('out');
 
-
    toc[currentIndex].removeClass(tocActive);
 
-
    images[currentIndex = ($defined(to) ? to : (currentIndex < images.length - 1 ? currentIndex+1 : 0))].fade('in');
 
-
    toc[currentIndex].addClass(tocActive);
 
-
  };
 
-
 
-
  /* start once the page is finished loading */
 
-
  window.addEvent('load',function(){
 
-
    interval = show.periodical(showDuration);
 
-
  });
 
-
});
 
-
/* new: control: table of contents */
 
-
  images.each(function(img,i){
 
-
    toc.push(new Element('a',{
 
-
      text: i+1,
 
-
      href: '#',
 
-
      'class': 'toc' + (i == 0 ? ' ' + tocActive : ''),
 
-
      events: {
 
-
        click: function(e) {
 
-
          if(e) e.stop();
 
-
          stop();
 
-
          show(i);
 
-
        }
 
-
      },
 
-
      styles: {
 
-
        left: ((i + 1) * (tocWidth + 10))
 
-
      }
 
-
    }).inject(container));
 
-
    if(i > 0) { img.set('opacity',0); }
 
-
  });
 
-
 
 
-
  /* new: control: next and previous */
 
-
  var next = new Element('a',{
 
-
    href: '#',
 
-
    id: 'next',
 
-
    text: '>>',
 
-
    events: {
 
-
      click: function(e) {
 
-
        if(e) e.stop();
 
-
        stop(); show();
 
-
      }
 
-
    }
 
-
  }).inject(container);
 
-
  var previous = new Element('a',{
 
-
    href: '#',
 
-
    id: 'previous',
 
-
    text: '<<',
 
-
    events: {
 
-
      click: function(e) {
 
-
        if(e) e.stop();
 
-
        stop(); show(currentIndex != 0 ? currentIndex -1 : images.length-1);
 
-
      }
 
-
    }
 
-
  }).inject(container);
 
-
 
 
-
  /* new: control: start/stop on mouseover/mouseout */
 
-
  container.addEvents({
 
-
    mouseenter: function() { stop(); },
 
-
    mouseleave: function() { start(); }
 
-
  });
 
-
 
 
-
  /* start once the page is finished loading */
 
-
  window.addEvent('load',function(){
 
-
    start();
 
-
  });
 
-
});
 
-
 
-
var SimpleSlideshow = new Class({
 
-
  options: {
 
-
    showControls: true,
 
-
    showDuration: 3000,
 
-
    showTOC: true,
 
-
    tocWidth: 20,
 
-
    tocClass: 'toc',
 
-
    tocActiveClass: 'toc-active'
 
-
  },
 
-
  Implements: [Options,Events],
 
-
  initialize: function(container,elements,options) {
 
-
    //settings
 
-
    this.container = $(container);
 
-
    this.elements = $$(elements);
 
-
    this.currentIndex = 0;
 
-
    this.interval = '';
 
-
    if(this.options.showTOC) this.toc = [];
 
-
   
 
-
    //assign
 
-
    this.elements.each(function(el,i){
 
-
      if(this.options.showTOC) {
 
-
        this.toc.push(new Element('a',{
 
-
          text: i+1,
 
-
          href: '#',
 
-
          'class': this.options.tocClass + '' + (i == 0 ? ' ' + this.options.tocActiveClass : ''),
 
-
          events: {
 
-
            click: function(e) {
 
-
              if(e) e.stop();
 
-
              this.stop();
 
-
              this.show(i);
 
-
            }.bind(this)
 
-
          },
 
-
          styles: {
 
-
            left: ((i + 1) * (this.options.tocWidth + 10))
 
-
          }
 
-
        }).inject(this.container));
 
-
      }
 
-
      if(i > 0) el.set('opacity',0);
 
-
    },this);
 
-
   
 
-
    //next,previous links
 
-
    if(this.options.showControls) {
 
-
      this.createControls();
 
-
     
 
-
    }
 
-
    //events
 
-
    this.container.addEvents({
 
-
      mouseenter: function() { this.stop(); }.bind(this),
 
-
      mouseleave: function() { this.start(); }.bind(this)
 
-
    });
 
-
 
-
  },
 
-
  show: function(to) {
 
-
    this.elements[this.currentIndex].fade('out');
 
-
    if(this.options.showTOC) this.toc[this.currentIndex].removeClass(this.options.tocActiveClass);
 
-
    this.elements[this.currentIndex = ($defined(to) ? to : (this.currentIndex < this.elements.length - 1 ? this.currentIndex+1 : 0))].fade('in');
 
-
    if(this.options.showTOC) this.toc[this.currentIndex].addClass(this.options.tocActiveClass);
 
-
  },
 
-
  start: function() {
 
-
    this.interval = this.show.bind(this).periodical(this.options.showDuration);
 
-
  },
 
-
  stop: function() {
 
-
    $clear(this.interval);
 
-
  },
 
-
  //"private"
 
-
  createControls: function() {
 
-
    var next = new Element('a',{
 
-
      href: '#',
 
-
      id: 'next',
 
-
      text: '>>',
 
-
      events: {
 
-
        click: function(e) {
 
-
          if(e) e.stop();
 
-
          this.stop();
 
-
          this.show();
 
-
        }.bind(this)
 
-
      }
 
-
    }).inject(this.container);
 
-
    var previous = new Element('a',{
 
-
      href: '#',
 
-
      id: 'previous',
 
-
      text: '<<',
 
-
      events: {
 
-
        click: function(e) {
 
-
          if(e) e.stop();
 
-
          this.stop();
 
-
          this.show(this.currentIndex != 0 ? this.currentIndex -1 : this.elements.length-1);
 
-
        }.bind(this)
 
-
      }
 
-
    }).inject(this.container);
 
-
  }
 
-
});
 
-
 
-
/* usage */
 
-
window.addEvent('domready',function() {
 
-
  var slideshow = new SimpleSlideshow('slideshow-container','#slideshow-container img');
 
-
  slideshow.start(); 
 
-
});
 
-
-->
 
-
 
-
window.addEvent('domready',function() {
 
-
  /* settings */
 
-
  var showDuration = 5000;
 
-
  var container = $('slideshow-container');
 
-
  var images = container.getElements('img');
 
-
  var currentIndex = 0;
 
-
  var interval;
 
-
  var toc = [];
 
-
  var tocActive = 'toc-active';
 
-
  var thumbOpacity = 0.7;
 
-
 
 
-
  /* new: create caption area */
 
-
  var captionDIV = new Element('div',{
 
-
    id: 'slideshow-container-caption',
 
-
    styles: {
 
-
      //display:none,
 
-
      opacity: thumbOpacity
 
-
    }
 
-
  }).inject(container);
 
-
  var captionHeight = captionDIV.getSize().y;
 
-
  captionDIV.setStyle('height',0);
 
-
 
 
-
  /* new: starts the show */
 
-
  var start = function() { interval = show.periodical(showDuration); };
 
-
  var stop = function() { $clear(interval); };
 
-
  /* worker */
 
-
  var show = function(to) {
 
-
    images[currentIndex].fade('out');
 
-
    toc[currentIndex].removeClass(tocActive).fade(thumbOpacity);
 
-
    images[currentIndex = ($defined(to) ? to : (currentIndex < images.length - 1 ? currentIndex+1 : 0))].fade('in');
 
-
    toc[currentIndex].addClass(tocActive).fade(1);
 
-
    captionDIV.set('tween',{
 
-
      onComplete: function() {
 
-
        captionDIV.set('tween',{
 
-
          onComplete: $empty
 
-
        }).tween('height',captionHeight);
 
-
        /* parse caption */
 
-
        var title = '';
 
-
        var captionText = '';
 
-
        if(images[currentIndex].get('alt')) {
 
-
          cap = images[currentIndex].get('alt').split('::');
 
-
          title = cap[0];
 
-
          captionText = cap[1];
 
-
          captionDIV.set('html','<h3>' + title + '</h3>' + (captionText ? '<p>' + captionText + '</p>' : ''));
 
-
        }
 
-
      }
 
-
    }).tween('height',0);
 
-
  };
 
-
 
 
-
  /* new: create preview area */
 
-
  var preview = new Element('div',{
 
-
    id: 'slideshow-container-controls'
 
-
  }).inject(container,'after');
 
-
 
 
-
  /* new: control: table of contents */
 
-
  images.each(function(img,i){
 
-
    /* add to table of contents */
 
-
    toc.push(new Element('img',{
 
-
      src: img.get('src'),
 
-
      title: img.get('alt'),
 
-
      styles: {
 
-
        opacity: thumbOpacity
 
-
      },
 
-
      events: {
 
-
        click: function(e) {
 
-
          if(e) e.stop();
 
-
          stop();
 
-
          show(i);
 
-
          start();
 
-
        },
 
-
        mouseenter: function() {
 
-
          this.fade(1);
 
-
        },
 
-
        mouseleave: function() {
 
-
          if(!this.hasClass(tocActive)) this.fade(thumbOpacity);
 
-
        }
 
-
      } 
 
-
    }).inject(preview));
 
-
    if(i > 0) { img.set('opacity',0); }
 
-
   
 
-
  });
 
-
 
 
-
  /* control: start/stop on mouseover/mouseout */
 
-
  container.addEvents({
 
-
    mouseenter: function() { stop(); },
 
-
    mouseleave: function() { start(); }
 
-
  });
 
-
 
 
-
  /* start once the page is finished loading */
 
-
  window.addEvent('load',function(){ show(0); start(); });
 
-
});
 
-
 
-
</script>
 
</body>
</body>
</html>
</html>

Revision as of 07:01, 15 August 2011

Team: British Columbia - 2011.igem.org