Team:Buenos Aires/Templates/menu

From 2013.igem.org

(Difference between revisions)
 
(21 intermediate revisions not shown)
Line 1: Line 1:
-
<html>
+
<html lang="en">
-
<head>
+
    <head>
-
<meta http-equiv="content-type" content="text/html;charset=utf-8" />
+
        <title>iGem Buenos Aires</title>
 +
<meta charset=utf-8>
 +
        <meta name="description" content="iGem Buenos Aires" />
 +
        <meta name="keywords" content="biosensing, igem, buenos aires, UBA, arsenic"/>
 +
<link rel="stylesheet" type="text/css" rel="stylesheet" href="https://2013.igem.org/Team:Buenos_Aires/css/style.css?action=raw&ctype=text/css" />
-
<link rel="stylesheet" media="screen" href="http://openfontlibrary.org/face/katamotzikasi" rel="stylesheet" type="text/css"/>
+
<link href="http://fonts.googleapis.com/css?family=PT+Sans+Narrow:regular,bold" rel="stylesheet" type="text/css" />
 +
<link rel="stylesheet" type="text/css" href="https://2013.igem.org/Team:Buenos_Aires/css/jquery.pageslide.css?action=raw&ctype=text/css" />
-
<style>
 
-
 
-
 
-
 
-
 
-
span{
 
-
 
-
width: 50%;
 
-
 
-
margin-left: 20%;
 
-
margin-right:10%;
 
-
 
-
 
-
    background:#F8F8F8;
 
-
    border: 5px solid #DFDFDF;
 
-
    color: #000000;
 
-
    font-size: 13px;
 
-
    letter-spacing: 1px;
 
-
    line-height: 20px;
 
-
 
-
    text-align: left;
 
-
 
-
    position:absolute;
 
-
 
-
 
-
  opacity:0;
 
-
  text-indent:50px;
 
-
box-shadow: 10px 10px 5px #888888;
 
-
 
-
    display:block;
 
-
    padding:0 20px;
 
 +
<style type ='text/css'>
 +
/* Wiki Hacks - START */
 +
/* Author: Pieter van Boheemen */
 +
/* Team: TU Delft */
 +
#globalWrapper { background-color: transparent; border: none; margin: 0; padding: 0; width: 100%; height:100%;}
 +
#content { background-color: transparent; border: none; padding: 0; margin: 0; width: 100%; overflow: scroll; height:100%;overflow:hidden;}
 +
#bodyContent {background-color:transparent; border: none; padding:0; margin:0; width:100%; height:100%;}
 +
#top-section {width:100%;background-color:transparent; height: 15px; margin: 10px; margin-left: auto; margin-right: auto; margin-bottom: 0 !important;
 +
padding:0; border: none; font-size: 10px;}
 +
#p-logo { height:1px; overflow:scroll; display: none;}
 +
#search-controls { overflow:hidden; display:block; background: none; position: absolute; top: 100px; right: 40px;}
 +
#footer-box {position:relative; width: 99%; margin: -10px auto 0 auto; padding: 20px 0;}
 +
.visualClear { display: none; }
 +
#footer { border: none; width: 100%; margin: 0 auto; padding: 0;}
 +
.firstHeading { display: none;}
 +
#f-list a { color: #333; font-size: 10px;}
 +
#f-list a:hover { color: #666;}
 +
.printfooter { display: none; }
 +
#footer ul { margin: 0; padding: 0;}
 +
#footer ul li { margin-top: 0; margin-bottom: 0; margin-left: 10px; margin-right: 10px; padding: 0;}
 +
#search-controls { display:none; }
 +
h3#siteSub { display: none;}
 +
#contentSub {display: none;}
 +
p:first-child { display: none;}
 +
/* Wiki Hacks - END */
 +
li{
 +
color:#FFF;
}
}
-
 
+
h1{
-
 
+
color:#FFF;
-
ul.menu {
+
border:none;
-
 
+
-
width: 770px;
+
-
height: 100px;
+
-
 
+
-
margin-left: auto;
+
-
margin-right: auto;
+
-
 
+
-
position:relative;
+
-
 
+
-
display:block;
+
-
overflow:hidden;
+
}
}
-
ul.menu li.item{
+
</style>
-
display:table;
+
-
width: 100px;
+
-
height: 99px;
+
-
float:left;
+
-
padding: 0 120px;
 
-
overflow:hidden;
 
-
/*Rota el li, funciona para Moz y Chrome, NO TOCAR*/
 
 +
    </head>
 +
    <body>
-
background:transparent url("http://s16.postimg.org/dt3lc44f5/plasmido.png") no-repeat center center;
+
<div id="contenedor">
-
    /* -webkit-mask-image: url("plasmido.png");*/
+
-
      -webkit-mask-size: 62px 62px;
+
-
      -webkit-animation-name: rotate;
+
-
    -webkit-animation-duration: 15s;
+
-
    -webkit-animation-iteration-count: infinite;
+
-
    -webkit-animation-timing-function: linear;
+
-
  -moz-animation-name: rotate;
+
-
  -moz-animation-duration:15s;
+
-
  -moz-animation-iteration-count:infinite;
+
-
  -moz-animation-timing-function:linear;
+
-
opacity:0.8;
+
-
+
-
}
+
 +
<div id="ac_background" class="ac_background">
 +
<img class="ac_bgimage" src="https://static.igem.org/mediawiki/2013/thumb/7/77/B1.jpg/800px-B1.jpg" alt="Background"/>
 +
<div class="ac_overlay"></div>
 +
<div class="ac_loading"></div>
 +
</div>
 +
-
a.boton{
+
<div id="ac_content" class="ac_content">
 +
 +
<h1><span>Buenos Aires</span>iGem</h1>
 +
<div class="ac_menu">
 +
<ul>
 +
<li>
 +
<a href="https://static.igem.org/mediawiki/2013/thumb/0/01/B2.jpg/800px-B2.jpg">Project</a>
 +
<div class="ac_subitem">
 +
<span class="ac_close"></span>
 +
<h2>Project</h2>
 +
<ul>
 +
<li>  We aim to build a quantitative modular Biosensor for the detection of
 +
toxic pollutants in water</li>
 +
<li><a class="sub_menu_link" id="Obj" href="#nada">Objetive</a></li>
 +
<li><a class="sub_menu_link" id="Mot" href="#nada">Motivation</a></li>
 +
<!-- <li><a class="sub_menu_link" id="App" href="#nada">Application</a></li>-->
 +
</ul>
 +
</div>
 +
</li>
 +
<li>
 +
<a href="https://static.igem.org/mediawiki/2013/thumb/1/12/B3.jpg/800px-B3.jpg">Results</a>
 +
<div class="ac_subitem">
 +
<span class="ac_close"></span>
 +
<h2>Results</h2>
 +
<ul>
 +
<li>Results.</li>
 +
</ul>
 +
</div>
 +
</li>
 +
<li>
 +
<a href="https://static.igem.org/mediawiki/2013/thumb/b/b3/B4.jpg/800px-B4.jpg">Team</a>
 +
<div class="ac_subitem">
 +
<span class="ac_close"></span>
 +
<h2>Team</h2>
 +
<ul>
 +
<li>The Team.</li>
 +
 +
</ul>
 +
</div>
 +
</li>
 +
 +
</ul>
 +
</div>
 +
</div>
-
  display:table-cell;
 
-
  width:100px;
 
-
height: 35px;
 
-
    cursor:pointer;
 
-
text-align:center;
 
-
/*text-transform: uppercase;*/
 
-
font-size: 25px;
 
-
vertical-align:middle;
 
-
+
<!--Here i put all the text that will open with links:-->
-
overflow:hidden;
+
-
position:relative;
+
-
/*Rota la parte de adentro del boton para la izquierda, así
+
<!--PROJECT-->
-
parece que está fijo (porque está rotando el li */
+
-
      -webkit-animation-name: invrotate;
+
-
    -webkit-animation-duration: 15s;
+
-
    -webkit-animation-iteration-count: infinite;
+
-
    -webkit-animation-timing-function: linear;
+
-
  -moz-animation-name: invrotate;
+
-
  -moz-animation-duration:15s;
+
-
  -moz-animation-iteration-count:infinite;
+
-
  -moz-animation-timing-function:linear;
+
-
opacity:1;
+
-
 
+
<!--Objetive-->
 +
<div class="texto" id="textObj">
 +
<H1>Objectives</H1>
 +
<p> The project will focus on the <b>development of a specific water biosensor </b>, but with a modular and scalable approach. Thereby you could easily afford multiple measurements with the very same device.</p>
 +
<p>The device will be designed in a way that its collected data will be easily accessible via a web interface, and later it could be transferred to the relevant agencies upon request. </p>
-
}
+
<p> At the end of this project we expect to have a prototype of measuring device and a diagram of a system for the distribution, collection and centralization of data. </p>
 +
<p> The project will aim on the measurement of a primary pollutant: <b> arsenic </b>. However, its <b>modular and scalable design</b> provides an easy way to incorporate various contaminants already identified, such as nitrate / nitrite, lead and hydrocarbons. </p>
 +
 +
<p>With the data collected is expected that <b>any user with minimal training</b> (using an image-based Instruction given) could easily and quickly determine the <b>presence and level of the contaminant</b> on his water. Also with the systematic use of this tool by the enforcement authorities, specific public policies could be implemented based on current and reliable information.</p>
-
@-webkit-keyframes rotate {
+
</div>
-
      from {-webkit-transform:rotate(0deg);}
+
-
      to {-webkit-transform:rotate(360deg);}
+
-
    }
+
-
   
+
-
@-moz-keyframes rotate {
+
-
  from {-moz-transform:rotate(0deg);}
+
-
  to {  -moz-transform:rotate(360deg);}
+
-
}
+
-
@-webkit-keyframes invrotate {
+
<!--Moti-->
-
      from {-webkit-transform:rotate(0deg);}
+
-
      to {-webkit-transform:rotate(-360deg);}
+
-
    }
+
-
   
+
-
@-moz-keyframes invrotate {
+
-
  from {-moz-transform:rotate(0deg);}
+
-
  to {  -moz-transform:rotate(-360deg);}
+
-
}
+
-
a.boton:link, a.boton:visited
+
<div class="texto" id="textMot">
-
/*Editar acá si quiero cambiar el formato de los botones*/
+
<H1>Motivation</H1>
-
{
+
<p>Limited access to clean water is a deep problem and <b>tends to worsen with time</b>. The pollution that converts water in non-drinkable can vary from just a single toxic (eg arsenic) to a highly complex mixture of types of substances such as those found in various river basins (eg Sali-Dulce, Matanza-Riachuelo among others).</p>
 +
<p>Depending on the type of contamination (complexity and abundance),  making  the water to be drinkable could be <b>easy and inexpensive</b>. Even if it weren't possible to make it drinkable, information on pollutant levels could be easily used to modify consumption patterns and seek alternative sources of water.</p>
 +
<p>At present, the spatial and temporal quantification of contaminants is limited by the difficulty in processing the samples and associated costs. Moreover, the lack of centralization and systematization of data does the task of obtain them by decision makers, stakeholders and the general public, very difficult.</p> 
 +
</div>
 +
<div class="texto" id="textApp"> Apli </div>
-
display:table-cell;
+
<!--RESULTS-->
-
color:#000000;
+
-
text-decoration:none;
+
-
opacity:1;
+
-
font-family:'KatamotzIkasi';
+
-
  font-weight: bold;
 
-
  font-style: normal;
 
 +
<!--TEAM-->
-
}
 
-
a.boton:hover,a.boton:active
+
</div>
-
{
+
-
opacity:0.3;
+
<!-- The JavaScript -->
-
 
+
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.5.1/jquery.min.js"></script>
-
}
+
<script type="text/javascript" src="http://jquery-swip.googlecode.com/svn-history/r4/trunk/jquery.easing.1.3.js"></script>
-
 
+
-
 
+
-
#projPrev{
+
-
opacity:0;
+
-
filter:alpha(opacity=0);
+
-
}
+
-
 
+
-
</style>
+
-
 
+
-
 
+
-
 
+
-
 
+
-
 
+
-
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.0.0/jquery.min.js"></script>
+
-
<script>
+
-
$(document).ready(function(){
+
-
  $("li").hover(function(){
+
-
var liId = $(this).attr('id');
+
-
var namePrev = liId + "Prev";
+
-
var element = document.getElementById(namePrev);
+
-
 
+
-
element.style.opacity="0.9"
+
-
 
+
-
 
+
-
  }, function(){
+
-
var liId = $(this).attr('id');
+
-
var namePrev = liId + "Prev";
+
-
var element = document.getElementById(namePrev);
+
-
element.style.opacity="0.0"
+
-
});
+
-
});
+
-
</script>   
+
-
 
+
-
 
+
-
 
+
-
</head>
+
-
 
+
-
 
+
-
 
+
-
 
+
-
 
+
-
 
+
-
 
+
-
<ul id="menu" class="menu">
+
-
<li class="item" id="proj"> <a class="boton" href="https://2013.igem.org/Team:Buenos_Aires/Project">Project</a></li>
+
-
<li class="item" id="team"> <a class="boton" href="#Team">Team</a></li>
+
-
</ul>
+
-
 
+
-
 
+
-
<span id="teamPrev">
+
-
            <p> El equipo está formado por seis biólogos, un químico, un físico y un computador. Contamos con la ayuda de tres advisors y un instructor</p>
+
-
      </span>
+
-
<span id="projPrev">
+
-
        <p>  El proyecto se basa en el biosensado cuantitativo de contaminantes en aguas.   </p>
+
-
 
+
-
  <p> La contaminación con arsénico es una problemática a nivel mundial, y en particular
+
-
en la Argentina. </p>
+
-
 
+
-
 
+
-
<p>Los controles existentes son aislados y requieren de conocimientos técnicos y de un equipamiento
+
-
costoso para el usuario medio. Frente a esto es que surge la idea de brindarle a la población una forma
+
-
simple, elegante y económica de realizar sus propias pruebas de agua.</p>
+
-
 
+
-
+
-
      </span>
+
 +
    <script src="https://2013.igem.org/Team:Buenos_Aires/css/jquery.pageslide.js?action=raw&ctype=text/js"></script>
 +
  <script>
 +
        /* Default pageslide, moves to the right */
 +
        $(".first").pageslide();
 +
       
 +
        /* Slide to the left, and make it model (you'll have to call $.pageslide.close() to close) */
 +
        $(".second").pageslide({ direction: "left", modal: true });
 +
    </script>
 +
 +
<script type="text/javascript">
 +
$(function() {
 +
var $ac_background = $('#ac_background'),
 +
$ac_bgimage = $ac_background.find('.ac_bgimage'),
 +
$ac_loading = $ac_background.find('.ac_loading'),
 +
 +
$ac_content = $('#ac_content'),
 +
$title = $ac_content.find('h1'),
 +
$menu = $ac_content.find('.ac_menu'),
 +
$mainNav = $menu.find('ul:first'),
 +
$menuItems = $mainNav.children('li'),
 +
totalItems = $menuItems.length,
 +
$ItemImages = new Array();
 +
 +
/*
 +
for this menu, we will preload all the images.
 +
let's add all the image sources to an array,
 +
including the bg image
 +
*/
 +
$menuItems.each(function(i) {
 +
$ItemImages.push($(this).children('a:first').attr('href'));
 +
});
 +
$ItemImages.push($ac_bgimage.attr('src'));
 +
 
 +
 +
var Menu = (function(){
 +
var init = function() {
 +
loadPage();
 +
initWindowEvent();
 +
},
 +
loadPage = function() {
 +
/*
 +
1- loads the bg image and all the item images;
 +
2- shows the bg image;
 +
3- shows / slides out the menu;
 +
4- shows the menu items;
 +
5- initializes the menu items events
 +
*/
 +
$ac_loading.show();//show loading status image
 +
$.when(loadImages()).done(function(){
 +
$.when(showBGImage()).done(function(){
 +
//hide the loading status image
 +
$ac_loading.hide();
 +
$.when(slideOutMenu()).done(function(){
 +
$.when(toggleMenuItems('up')).done(function(){
 +
initEventsSubMenu();
 +
});
 +
});
 +
});
 +
});
 +
},
 +
showBGImage = function() {
 +
return $.Deferred(
 +
function(dfd) {
 +
//adjusts the dimensions of the image to fit the screen
 +
adjustImageSize($ac_bgimage);
 +
$ac_bgimage.fadeIn(1000, dfd.resolve);
 +
}
 +
).promise();
 +
},
 +
slideOutMenu = function() {
 +
/* calculate new width for the menu */
 +
var new_w = $(window).width() - $title.outerWidth(true);
 +
return $.Deferred(
 +
function(dfd) {
 +
//slides out the menu
 +
$menu.stop()
 +
.animate({
 +
width : new_w + 'px'
 +
}, 700, dfd.resolve);
 +
}
 +
).promise();
 +
},
 +
/* shows / hides the menu items */
 +
toggleMenuItems = function(dir) {
 +
return $.Deferred(
 +
function(dfd) {
 +
/*
 +
slides in / out the items.
 +
different animation time for each one.
 +
*/
 +
$menuItems.each(function(i) {
 +
var $el_title = $(this).children('a:first'),
 +
marginTop, opacity, easing;
 +
if(dir === 'up'){
 +
marginTop = '0px';
 +
opacity = 1;
 +
easing = 'easeOutBack';
 +
}
 +
else if(dir === 'down'){
 +
marginTop = '60px';
 +
opacity = 0;
 +
easing = 'easeInBack';
 +
}
 +
$el_title.stop()
 +
.animate({
 +
marginTop : marginTop,
 +
opacity : opacity
 +
}, 200 + i * 200 , easing, function(){
 +
if(i === totalItems - 1)
 +
dfd.resolve();
 +
});
 +
});
 +
}
 +
).promise();
 +
},
 +
initEventsSubMenu = function() {
 +
$menuItems.each(function(i) {
 +
var $item = $(this), // the <li>
 +
$el_title = $item.children('a:first'),
 +
el_image = $el_title.attr('href'),
 +
$sub_menu = $item.find('.ac_subitem'),
 +
$ac_close = $sub_menu.find('.ac_close');
 +
 +
/* user clicks one item : appetizers | main course | desserts | wines | specials */
 +
$el_title.bind('click.Menu', function(e) {
 +
$.when(toggleMenuItems('down')).done(function(){
 +
openSubMenu($item, $sub_menu, el_image);
 +
});
 +
return false;
 +
});
 +
/* closes the submenu */
 +
$ac_close.bind('click.Menu', function(e) {
 +
toggleMenuItems('up');
 +
$(".ac_subitem").css("height", "0px");
 +
/* all other text opacity to 0*/
 +
$('.texto').css({opacity: '0.0', height: "0px"});
 +
return false;
 +
});
 +
/* open link's text in "texto" class div */
 +
 +
 +
$(".sub_menu_link").bind('click.Menu', function(e){
 +
 +
var currentId = $(this).attr('id');
 +
/* all other text display is none*/
 +
$('.texto').css({opacity:'0.0',display: 'none'});
 +
/* show text: */
 +
$('#text' + currentId).css({display: 'block'});
 +
$('#text' + currentId).stop()
 +
.animate({opacity: '0.8'}, 1400, function(){});
 +
return false;
 +
});
 +
 +
 +
});
 +
},
 +
openSubMenu = function($item, $sub_menu, el_image) {
 +
$sub_menu.stop()
 +
.animate({
 +
height : '400px',
 +
marginTop : '-200px'
 +
}, 400, function() {
 +
//the bg image changes
 +
showItemImage(el_image);
 +
});
 +
},
 +
/* changes the background image */
 +
showItemImage = function(source) {
 +
//if its the current one return
 +
if($ac_bgimage.attr('src') === source)
 +
return false;
 +
 +
var $itemImage = $('<img src="'+source+'" alt="Background" class="ac_bgimage"/>');
 +
$itemImage.insertBefore($ac_bgimage);
 +
adjustImageSize($itemImage);
 +
$ac_bgimage.fadeOut(1500, function() {
 +
$(this).remove();
 +
$ac_bgimage = $itemImage;
 +
});
 +
$itemImage.fadeIn(1500);
 +
},
 +
/*
 +
on window resize, ajust the bg image dimentions,
 +
and recalculate the menus width
 +
*/
 +
initWindowEvent = function() {
 +
/* on window resize set the width for the menu */
 +
$(window).bind('resize.Menu' , function(e) {
 +
adjustImageSize($ac_bgimage);
 +
/* calculate new width for the menu */
 +
var new_w = $(window).width() - $title.outerWidth(true);
 +
$menu.css('width', new_w + 'px');
 +
});
 +
},
 +
/* makes an image "fullscreen" and centered */
 +
adjustImageSize = function($img) {
 +
var w_w = $(window).width(),
 +
w_h = $(window).height(),
 +
r_w = w_h / w_w,
 +
i_w = $img.width(),
 +
i_h = $img.height(),
 +
r_i = i_h / i_w,
 +
new_w,new_h,
 +
new_left,new_top;
 +
 +
if(r_w > r_i){
 +
new_h = w_h;
 +
new_w = w_h / r_i;
 +
}
 +
else{
 +
new_h = w_w * r_i;
 +
new_w = w_w;
 +
}
 +
 +
$img.css({
 +
width : new_w + 'px',
 +
height : new_h + 'px',
 +
 +
});
 +
},
 +
/* preloads a set of images */
 +
loadImages = function() {
 +
return $.Deferred(
 +
function(dfd) {
 +
var total_images = $ItemImages.length,
 +
loaded = 0;
 +
for(var i = 0; i < total_images; ++i){
 +
$('<img/>').load(function() {
 +
++loaded;
 +
if(loaded === total_images)
 +
dfd.resolve();
 +
}).attr('src' , $ItemImages[i]);
 +
}
 +
}
 +
).promise();
 +
};
 +
 +
return {
 +
init : init
 +
};
 +
})();
 +
 +
/*
 +
call the init method of Menu
 +
*/
 +
Menu.init();
 +
});
 +
</script>
 +
    </body>
</html>
</html>

Latest revision as of 19:51, 31 May 2013

iGem Buenos Aires

Background

Buenos AiresiGem

Objectives

The project will focus on the development of a specific water biosensor , but with a modular and scalable approach. Thereby you could easily afford multiple measurements with the very same device.

The device will be designed in a way that its collected data will be easily accessible via a web interface, and later it could be transferred to the relevant agencies upon request.

At the end of this project we expect to have a prototype of measuring device and a diagram of a system for the distribution, collection and centralization of data.

The project will aim on the measurement of a primary pollutant: arsenic . However, its modular and scalable design provides an easy way to incorporate various contaminants already identified, such as nitrate / nitrite, lead and hydrocarbons.

With the data collected is expected that any user with minimal training (using an image-based Instruction given) could easily and quickly determine the presence and level of the contaminant on his water. Also with the systematic use of this tool by the enforcement authorities, specific public policies could be implemented based on current and reliable information.

Motivation

Limited access to clean water is a deep problem and tends to worsen with time. The pollution that converts water in non-drinkable can vary from just a single toxic (eg arsenic) to a highly complex mixture of types of substances such as those found in various river basins (eg Sali-Dulce, Matanza-Riachuelo among others).

Depending on the type of contamination (complexity and abundance), making the water to be drinkable could be easy and inexpensive. Even if it weren't possible to make it drinkable, information on pollutant levels could be easily used to modify consumption patterns and seek alternative sources of water.

At present, the spatial and temporal quantification of contaminants is limited by the difficulty in processing the samples and associated costs. Moreover, the lack of centralization and systematization of data does the task of obtain them by decision makers, stakeholders and the general public, very difficult.

Apli