Difference between revisions of "Team:British Columbia/Growing2"

(Created page with "<html> <style> @import url(http://fonts.googleapis.com/css?family=Lato:400,700); * { -moz-box-sizing: border-box; -webkit-box-sizing: border-box; box-sizing: border-box; } ...")
 
 
(7 intermediate revisions by the same user not shown)
Line 1: Line 1:
<html>
+
{{:Team:British Columbia/Template/Fixednavbar}}
<style>
+
<html lang="en">
@import url(http://fonts.googleapis.com/css?family=Lato:400,700);
+
* {
+
  <body>
  -moz-box-sizing: border-box;
+
<div class="bod">
  -webkit-box-sizing: border-box;
+
<div class="UBCt"><div id="UBCt">
  box-sizing: border-box;
+
<div id="UBCtitle">
}
+
<div id="one">&nbsp;</div>
 +
<div id="three"><h3>Protocols</h3></div>
 +
    <div id="two">&nbsp;</div>
 +
</div></div></div>
  
body {
+
<div style="clear: both;"></div>
  font-family: 'Lato';
+
<div id="UBCbody">
}
+
<h1><small>Use the categories on the left to find the protocol you need:</small></h1>
  
h1 {
+
<div class="tab-pane" id="a"><div class="panel-group" id="accordion" role="tablist" aria-multiselectable="true">
  font-size: 2em;
+
      <div class="panel panel-default">
  padding: 2em;
+
        <div class="panel-heading" role="tab" id="headingOne">
  text-align: center;
+
          <h4 id="-collapsible-group-item-#1-" class="panel-title">
}
+
            <a class="collapsed" data-toggle="collapse" data-parent="#accordion" href="#collapseOne" aria-expanded="false" aria-controls="collapseOne">
 
+
              <strong>PCR of inserts for cloning - Phusion DNA polymerase</strong>  
.accordion dl {
+
             </a>
  border: 1px solid #ddd;
+
          <a class="anchorjs-link" href="#-collapsible-group-item-#1-"><span class="anchorjs-icon"></span></a></h4>
}
+
        </div>
.accordion dl:after {
+
        <div style="height: 0px;" aria-expanded="false" id="collapseOne" class="panel-collapse collapse" role="tabpanel" aria-labelledby="headingOne">
  content: "";
+
          <div class="panel-body">
  display: block;
+
            <p>To amplify an insert for cloning, using high-fidelity phusion polymerase.</p>
  height: 1em;
+
<p><a class="btn btn-default" href="https://2015.igem.org/Team:British_Columbia/Notebook/Protocols/PhusionPCR" role="button">View details &raquo;</a></p>
  width: 100%;
+
  background-color: #2ba659;
+
}
+
.accordion dt > a {
+
  text-align: center;
+
  font-weight: 700;
+
  padding: 2em;
+
  display: block;
+
  text-decoration: none;
+
  color: #fff;
+
  -webkit-transition: background-color 0.5s ease-in-out;
+
}
+
.accordion dd {
+
  background-color: #eee;
+
  font-size: 1em;
+
  line-height: 1.5em;
+
}
+
.accordion dd > p {
+
  padding: 1em 2em 1em 2em;
+
}
+
 
+
.accordion {
+
  position: relative;
+
  background-color: #eee;
+
}
+
 
+
.container {
+
  max-width: 960px;
+
  margin: 0 auto;
+
  padding: 2em 0 2em 0;
+
}
+
 
+
.accordionTitle {
+
  background-color: #38cc70;
+
  border-bottom: 1px solid #30bb64;
+
}
+
.accordionTitle:before {
+
  content: "+";
+
  font-size: 1.5em;
+
  line-height: 0.5em;
+
  float: left;
+
  -moz-transition: -moz-transform 0.3s ease-in-out;
+
  -o-transition: -o-transform 0.3s ease-in-out;
+
  -webkit-transition: -webkit-transform 0.3s ease-in-out;
+
  transition: transform 0.3s ease-in-out;
+
}
+
.accordionTitle:hover {
+
  background-color: #2ba659;
+
}
+
 
+
.accordionTitleActive {
+
  background-color: #2ba659;
+
}
+
.accordionTitleActive:before {
+
  -webkit-transform: rotate(-225deg);
+
  -moz-transform: rotate(-225deg);
+
  transform: rotate(-225deg);
+
}
+
 
+
.accordionItem {
+
  height: auto;
+
  overflow: hidden;
+
}
+
@media all {
+
  .accordionItem {
+
    max-height: 50em;
+
    -moz-transition: max-height 1s;
+
    -o-transition: max-height 1s;
+
    -webkit-transition: max-height 1s;
+
    transition: max-height 1s;
+
  }
+
}
+
@media screen and (min-width: 48em) {
+
  .accordionItem {
+
    max-height: 15em;
+
    -moz-transition: max-height 0.5s;
+
    -o-transition: max-height 0.5s;
+
    -webkit-transition: max-height 0.5s;
+
    transition: max-height 0.5s;
+
  }
+
}
+
 
+
.accordionItemCollapsed {
+
  max-height: 0;
+
}
+
 
+
.animateIn {
+
  -webkit-animation-name: accordionIn;
+
  -webkit-animation-duration: 0.65s;
+
  -webkit-animation-iteration-count: 1;
+
  -webkit-animation-direction: normal;
+
  -webkit-animation-timing-function: ease-in-out;
+
  -webkit-animation-fill-mode: both;
+
  -webkit-animation-delay: 0s;
+
  -moz-animation-name: normal;
+
  -moz-animation-duration: 0.65s;
+
  -moz-animation-iteration-count: 1;
+
  -moz-animation-direction: alternate;
+
  -moz-animation-timing-function: ease-in-out;
+
  -moz-animation-fill-mode: both;
+
  -moz-animation-delay: 0s;
+
  animation-name: accordionIn;
+
  animation-duration: 0.65s;
+
  animation-iteration-count: 1;
+
  animation-direction: normal;
+
  animation-timing-function: ease-in-out;
+
  animation-fill-mode: both;
+
  animation-delay: 0s;
+
}
+
 
+
.animateOut {
+
  -webkit-animation-name: accordionOut;
+
  -webkit-animation-duration: 0.75s;
+
  -webkit-animation-iteration-count: 1;
+
  -webkit-animation-direction: alternate;
+
  -webkit-animation-timing-function: ease-in-out;
+
  -webkit-animation-fill-mode: both;
+
  -webkit-animation-delay: 0s;
+
  -moz-animation-name: accordionOut;
+
  -moz-animation-duration: 0.75s;
+
  -moz-animation-iteration-count: 1;
+
  -moz-animation-direction: alternate;
+
  -moz-animation-timing-function: ease-in-out;
+
  -moz-animation-fill-mode: both;
+
  -moz-animation-delay: 0s;
+
  animation-name: accordionOut;
+
  animation-duration: 0.75s;
+
  animation-iteration-count: 1;
+
  animation-direction: alternate;
+
  animation-timing-function: ease-in-out;
+
  animation-fill-mode: both;
+
  animation-delay: 0s;
+
}
+
 
+
@-webkit-keyframes accordionIn {
+
  0% {
+
    opacity: 0;
+
    -webkit-transform: scale(0.8);
+
  }
+
  100% {
+
    opacity: 1;
+
    -webkit-transform: scale(1);
+
  }
+
}
+
@-moz-keyframes accordionIn {
+
  0% {
+
    opacity: 0;
+
    -moz-transform: scale(0.8);
+
  }
+
  100% {
+
    opacity: 1;
+
    -moz-transform: scale(1);
+
  }
+
}
+
@keyframes accordionIn {
+
  0% {
+
    opacity: 0;
+
    transform: scale(0.8);
+
  }
+
  100% {
+
    opacity: 1;
+
    transform: scale(1);
+
  }
+
}
+
@-webkit-keyframes accordionOut {
+
  0% {
+
    opacity: 1;
+
    -webkit-transform: scale(1);
+
  }
+
  100% {
+
    opacity: 0;
+
    -webkit-transform: scale(0.8);
+
  }
+
}
+
@-moz-keyframes accordionOut {
+
  0% {
+
    opacity: 1;
+
    -moz-transform: scale(1);
+
  }
+
  100% {
+
    opacity: 0;
+
    -moz-transform: scale(0.8);
+
  }
+
}
+
@keyframes accordionOut {
+
  0% {
+
    opacity: 1;
+
    transform: scale(1);
+
  }
+
  100% {
+
    opacity: 0;
+
    transform: scale(0.8);
+
  }
+
}
+
 
+
</style>
+
<div class="container">
+
          <h1>CSS Responsive Animated Accordion</h1>
+
          <div class="accordion">
+
             <dl>
+
              <dt><a class="accordionTitle" href="#">First Accordion heading</a></dt>
+
              <dd class="accordionItem accordionItemCollapsed">
+
                <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi eu interdum diam. Donec interdum porttitor risus non bibendum. Maecenas sollicitudin eros in quam imperdiet placerat. Cras justo purus, rhoncus nec lobortis ut, iaculis vel ipsum. Donec dignissim arcu nec elit faucibus condimentum. Donec facilisis consectetur enim sit amet varius. Pellentesque justo dui, sodales quis luctus a, iaculis eget mauris. </p>
+
                <p>Aliquam dapibus, ante quis fringilla feugiat, mauris risus condimentum massa, at elementum libero quam ac ligula. Pellentesque at rhoncus dolor. Duis porttitor nibh ut lobortis aliquam. Nullam eu dolor venenatis mauris placerat tristique eget id dolor. Quisque blandit adipiscing erat vitae dapibus. Nulla aliquam magna nec elementum tincidunt.</p>
+
              </dd>
+
              <dt><a href="#" class="accordionTitle">Second Accordion heading</a></dt>
+
              <dd class="accordionItem accordionItemCollapsed">
+
                <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi eu interdum diam. Donec interdum porttitor risus non bibendum. Maecenas sollicitudin eros in quam imperdiet placerat. Cras justo purus, rhoncus nec lobortis ut, iaculis vel ipsum. Donec dignissim arcu nec elit faucibus condimentum. Donec facilisis consectetur enim sit amet varius. Pellentesque justo dui, sodales quis luctus a, iaculis eget mauris. </p>
+
                <p>Aliquam dapibus, ante quis fringilla feugiat, mauris risus condimentum massa, at elementum libero quam ac ligula. Pellentesque at rhoncus dolor. Duis porttitor nibh ut lobortis aliquam. Nullam eu dolor venenatis mauris placerat tristique eget id dolor. Quisque blandit adipiscing erat vitae dapibus. Nulla aliquam magna nec elementum tincidunt.</p>
+
              </dd>
+
              <dt><a href="#" class="accordionTitle">Third Accordion heading</a></dt>
+
              <dd class="accordionItem accordionItemCollapsed">
+
                <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi eu interdum diam. Donec interdum porttitor risus non bibendum. Maecenas sollicitudin eros in quam imperdiet placerat. Cras justo purus, rhoncus nec lobortis ut, iaculis vel ipsum. Donec dignissim arcu nec elit faucibus condimentum. Donec facilisis consectetur enim sit amet varius. Pellentesque justo dui, sodales quis luctus a, iaculis eget mauris. </p>
+
                <p>Aliquam dapibus, ante quis fringilla feugiat, mauris risus condimentum massa, at elementum libero quam ac ligula. Pellentesque at rhoncus dolor. Duis porttitor nibh ut lobortis aliquam. Nullam eu dolor venenatis mauris placerat tristique eget id dolor. Quisque blandit adipiscing erat vitae dapibus. Nulla aliquam magna nec elementum tincidunt.</p>
+
              </dd>
+
            </dl>
+
 
           </div>
 
           </div>
 
         </div>
 
         </div>
<script>
+
      </div>
/*!
+
      <div class="panel panel-default">
* classie - class helper functions
+
        <div class="panel-heading" role="tab" id="headingTwo">
* from bonzo https://github.com/ded/bonzo
+
          <h4 id="-collapsible-group-item-#2-" class="panel-title">
*
+
            <a class="collapsed" data-toggle="collapse" data-parent="#accordion" href="#collapseTwo" aria-expanded="false" aria-controls="collapseTwo">
* classie.has( elem, 'my-class' ) -> true/false
+
              <strong>Colony PCR for screening - Taq DNA Polymerase</strong>
* classie.add( elem, 'my-new-class' )
+
            </a>
* classie.remove( elem, 'my-unwanted-class' )
+
          <a class="anchorjs-link" href="#-collapsible-group-item-#2-"><span class="anchorjs-icon"></span></a></h4>
* classie.toggle( elem, 'my-class' )
+
        </div>
*/
+
        <div style="height: 0px;" aria-expanded="false" id="collapseTwo" class="panel-collapse collapse" role="tabpanel" aria-labelledby="headingTwo">
 
+
          <div class="panel-body">
/*jshint browser: true, strict: true, undef: true */
+
            <p>Colony PCR is commonly used to screen for the presence of a insert in a plasmid during cloning.</p>
/*global define: false */
+
<p><a class="btn btn-default" href="https://2015.igem.org/wiki/index.php?title=Team:British_Columbia/Notebook/Protocols/ColonyPCR" role="button">View details &raquo;</a></p>
 
+
          </div>
( function( window ) {
+
        </div>
 
+
      </div>
'use strict';
+
      <div class="panel panel-default">
 
+
        <div class="panel-heading" role="tab" id="headingThree">
// class helper functions from bonzo https://github.com/ded/bonzo
+
          <h4 id="-collapsible-group-item-#3-" class="panel-title">
 
+
            <a class="collapsed" data-toggle="collapse" data-parent="#accordion" href="#collapseThree" aria-expanded="false" aria-controls="collapseThree">
function classReg( className ) {
+
              <strong>Preparing primers for PCR</strong>
  return new RegExp("(^|\\s+)" + className + "(\\s+|$)");
+
            </a>
}
+
          <a class="anchorjs-link" href="#-collapsible-group-item-#3-"><span class="anchorjs-icon"></span></a></h4>
 
+
        </div>
// classList support for class management
+
        <div style="height: 0px;" aria-expanded="false" id="collapseThree" class="panel-collapse collapse" role="tabpanel" aria-labelledby="headingThree">
// altho to be fair, the api sucks because it won't accept multiple classes at once
+
          <div class="panel-body">
var hasClass, addClass, removeClass;
+
            <p>Before primers can be used for PCR they need to be resuspended and diluted.</p>
 
+
<p><a class="btn btn-default" href="https://2015.igem.org/Team:British_Columbia/Notebook/Protocols/Primers" role="button">View details &raquo;</a></p>
if ( 'classList' in document.documentElement ) {
+
           </div>
  hasClass = function( elem, c ) {
+
        </div>
    return elem.classList.contains( c );
+
      </div>
  };
+
    </div>
  addClass = function( elem, c ) {
+
</div>
    elem.classList.add( c );
+
  };
+
  removeClass = function( elem, c ) {
+
    elem.classList.remove( c );
+
  };
+
}
+
else {
+
  hasClass = function( elem, c ) {
+
    return classReg( c ).test( elem.className );
+
  };
+
  addClass = function( elem, c ) {
+
    if ( !hasClass( elem, c ) ) {
+
      elem.className = elem.className + ' ' + c;
+
    }
+
  };
+
  removeClass = function( elem, c ) {
+
    elem.className = elem.className.replace( classReg( c ), ' ' );
+
  };
+
}
+
 
+
function toggleClass( elem, c ) {
+
  var fn = hasClass( elem, c ) ? removeClass : addClass;
+
  fn( elem, c );
+
}
+
 
+
var classie = {
+
  // full names
+
  hasClass: hasClass,
+
  addClass: addClass,
+
  removeClass: removeClass,
+
  toggleClass: toggleClass,
+
  // short names
+
  has: hasClass,
+
  add: addClass,
+
  remove: removeClass,
+
  toggle: toggleClass
+
};
+
 
+
// transport
+
if ( typeof define === 'function' && define.amd ) {
+
  // AMD
+
  define( classie );
+
} else {
+
  // browser global
+
  window.classie = classie;
+
}
+
 
+
})( window );
+
 
+
//fake jQuery
+
var $ = function(selector){
+
  return document.querySelector(selector);
+
}
+
var accordion = $('.accordion');
+
 
+
 
+
 
+
 
+
 
+
//add event listener to all anchor tags with accordion title class
+
accordion.addEventListener("click",function(e) {
+
  e.stopPropagation();
+
  e.preventDefault();
+
  if(e.target && e.target.nodeName == "A") {
+
    var classes = e.target.className.split(" ");
+
    if(classes) {
+
      for(var x = 0; x < classes.length; x++) {
+
        if(classes[x] == "accordionTitle") {
+
          var title = e.target;
+
 
+
          //next element sibling needs to be tested in IE8+ for any crashing problems
+
          var content = e.target.parentNode.nextElementSibling;
+
         
+
          //use classie to then toggle the active class which will then open and close the accordion
+
       
+
          classie.toggle(title, 'accordionTitleActive');
+
          //this is just here to allow a custom animation to treat the content
+
           if(classie.has(content, 'accordionItemCollapsed')) {
+
            if(classie.has(content, 'animateOut')){
+
              classie.remove(content, 'animateOut');
+
            }
+
            classie.add(content, 'animateIn');
+
 
+
          }else{
+
            classie.remove(content, 'animateIn');
+
            classie.add(content, 'animateOut');
+
          }
+
          //remove or add the collapsed state
+
          classie.toggle(content, 'accordionItemCollapsed');
+
 
+
  
 +
            <!-- /tabs -->
 +
        </div>
  
         
+
</div>
        }
+
      }
+
    }
+
   
+
  }
+
});
+
</script>
+
  
 +
  </body>
 
</html>
 
</html>
 +
{{:Team:British Columbia/Template/Fixedfooter}}

Latest revision as of 21:43, 31 August 2015

UBC iGEM 2015

 

Protocols

 

Use the categories on the left to find the protocol you need: