Esta variante consistiría en tener a su vez unasublista dentro de cada intervalo horario, de manera que teniendo cada hora una lista fija, dentro de esa hora se mostrara cada vez un contenido distinto al azar.
Por si con tanta hora, intervalo y listas no lo termino de explicar bien, concreto el asunto con el ejemplo que vamos a ver hoy. Disponemos de una programación de vídeos que podéis ver en estahoja de cálculo. El código que veremos servirá para que los vídeos 1, 2 y 3 sólo se vean cuando estemos entre las 00:00 y la 01:00. Los vídeos 4, 5 y 6 lo mismo pero entre la 01:00 y las 02:00. Y así sucesivamente...
Así en cada acceso veremos aleatoriamente uno de los vídeos, pero no de entre todos los listados, sino sólo de entre los del tramo correspondiente.
Este el sitio de prueba que he montado para la ocasión para que esté algo más claro:
Ya he anticipado que vamos a usar una hoja de Google Drive (antes Docs) y eso es para no tener que crear un interminable array dentro del correspondiente código JavaScript. Esto también nos permitirá cambiar fácilmente la programación con sólo acceder a la hoja y variar los datos.
Cómopreparar la hoja de cálculo de Google Drive lo vimos anteriormente, así que pasamos directamente al código JavaScript. Se podría situar en un gadget tipo HTML/JavaScript o en la propia plantilla antes de/head:
//![CDATA[
codigo='';
titulo='';
autor='';
function leermusica(json) {
var fecha = new Date();
var hora = fecha.getHours();
var alea = Math.round(Math.random()*2);
var cual = (3*hora)+(alea);
codigo = json.feed.entry[cual].gsx$codigo.$t;
titulo = json.feed.entry[cual].gsx$titulo.$t;
autor = json.feed.entry[cual].gsx$autor.$t;
}
function mostrarmusica(donde) {
var salida = '';
salida += 'div class="codigo"'+codigo+'/div';
salida += 'div class="titulo"'+titulo+'/div';
salida += 'div class="autor"'+autor+'/div';
document.getElementById(donde).innerHTML = salida;
}
//
/script
La primera parte (funciónleermusica) obtiene la hora en al que nos encontramos (sólo la hora, entre 0 y 23), un número aleatorio (0, 1 ó 2) y luego con ambos datos calcula que fila hay que leer (cual). Como tenemos tres elementos por hora guardados en la hoja de cálculo, usamos una fórmula que nos dará los valores de la siguiente tabla (izquierda):
Si tuviéramos por ejemplo cuatro elementos para cada hora, la fórmula sería la de la derecha y el número aleatorio tendría que calcularse comoMath.round(Math.random()*3)para que pudiéramos obtener 0, 1, 2 ó 3, es decir, cuatro valores.
Si en la hoja de cálculo hemos grabado correctamente los títulos y los datos de tres en tres filas (siguiendo el ejemplo), toda la lectura funcionará correctamente. Como podéis ver, el resto es sólo leer los datos de la la fila usando el mismo sistema de leer hojas de cálculo que publicamos enGoogle Docs como base de datos: leer y mostrar con JavaScript.
La única diferencia importante es que en la otra ocasión necesitábamos leer todos los datos para tenerlos disponibles y así podermostrar sucesivamente distintas frases aleatorias. Ahora para una mayor rapidez, sólo leemos el dato que necesitamos.
La segunda función (mostrarmusica) simplemente escribe lo que hemos leído con un formato absolutamente personalizable (sólo hay que ir escribiendo HTML dentro de la variablesalida) y finalmente lo inserta dentro de la capa con laID enviada desde dónde llamamos la función. En el ejemplo esvideoshorarios.
Preparada la hoja y el script, nos falta hacer una llamada al feed de la hoja para leer el dato que necesitamos conleermusica, crear la capa dónde meteremos el resultado (videoshorarios) y por último ejecutar la segunda función (mostrarmusica) para efectivamente mostrarlo. Lo siguiente habría que insertarlo justo dónde queremos que se muestre el elemento programado. En este caso nuestro vídeo con sus correspondientes rótulos:
/script
div id="videoshorarios"
/div
script type="text/javascript"
mostrarmusica('videoshorarios');
/script
Aquí lo único que hay que tener en cuenta es que la clave de la hoja de cálculo tiene que ser la misma que nos facilitó el servicio de Google al publicarla como feed tipo RSS. No hay más.
Para terminar, podemos aplicar un estilo básico (o el que queráis) para centrar el vídeo y formatear un poco el texto de los rótulos. Se puede añadir en la hoja de estilo o si lo usamos como gadget, antes del anterior entre etiquetasstyle:
.titulo {text-align: center; font-size: 20px; font-weight: bold;}
.autor {text-align: center; font-size: 16px; font-style: italic;}
MESOTHELIOMA LAW FIRMDONATE CAR TO CHARITY CALIFORNIAHARDDRIVE DATA RECOVERY SERVICESDONATE A CAR IN MARYLAND DONATING A CAR IN MARYLAND,DONATE CARS ILLINOIS,CRIMINAL DEFENSE ATTORNEYS FLORIDA ,BEST CRIMINAL LAWYER IN ARIZONASTRUCTURED ANNUITY SETTLEMENT,ASBESTOS LAWYERS,NUNAVUT CULTURE,DAYTON FREIGHT LINES ,Bextra Bankruptcy Dental Plan Private Jet
motorcycle lawyer los angeles Seo companies Criminal Defense Attorneys Florida WORLD TRADE CENTER FOOTAGE Business management software car accident lawyer michigan Social media tools truck accident attorney los angeles Seo services Online Motor Insurance Quotes mesothelioma lawyer chicago cloud identity and access management Motor Replacements Criminal lawyer mesothelioma attorneys miami personal injury lawyer illinois mesothelioma lawyer cash out annuity Data Recovery Raid Casino baltimore mesothelioma attorneys BEST CRIMINAL LAWYER IN ARIZONA selling structured settlement Nunavut Culture futuristic architecture dallas mesothelioma lawyer paperport promotional code Business finance group seattle mesothelioma lawyer Donate old cars to charity Online casino best accident attorneys workers compensation lawyer los angeles WordPress themes for designers adverse remortgage Casino reviews Donate your car for money saskatchewan auto insurance mesothelioma attorney illinois pharmacist jobs in chicago Email bulk service yahoo web hosting Computer science classes online domain yahoo Annuity Settlements Health Records Personal Health Record Custom Christmas cards Mobile casino PHD on Counseling Education DONATING A CAR IN MARYLAND Online Criminal Justice Degree motor replacements Adobe illustrator classes Make money online Australia personal injury lawyer sarasota fl georgia truck accident lawyer buy structured settlements Donate Car to Charity California Live casino Html email Psychic for Free motorcycle accident lawyer san francisco Donate Car To Charity CALIFORNIA automobile accident attorney DUI lawyer Car Insurance in South Dakota CAR DONATE Hire php developers Online Christmas cards Auto Mobile Shipping Quote mesothelioma Hire php programmers Dwi lawyer Service business software benchmark lending mesothelioma law suit donate old cars to charity Met auto MORTGAGE ADVISER asterisk call center software Online College Course annuity payment Cheap car insurance in Virginia Online motor insurance quotes mesothelioma lawyer houston Criminal defense lawyer what is structured settlement Hire php developer mesothelioma information dallas mesothelioma attorneys Learning adobe illustrator Php programmers for hire Social media campaigns Christmas cards Bankruptcy lawyer Life Insurance Co Lincoln Custom WordPress theme designer Php programmers Psd to WordPress Motor Insurance Quotes Best social media platforms for business New social media platforms Donating a Car in Maryland Social media platforms for business car crash attorneys ASBESTOS LAWYERS STRUCTURED ANNUITY SETTLEMENT selling annuity payments for cash Social media platforms Paperport promotional code Best Seo company Met Auto AUTO ACCIDENT ATTORNEY Car Insurance Quotes Asbestos Lung Cancer Best social media platforms Social media strategies mesothelioma attorneys california Psd to html Seo company injury lawyers west palm beach Virtual Data Rooms donate car for tax credit event management security illinois law lemon car insurance in south dakota Tech school world trade center footage Photo Christmas cards WordPress hosting World trade center footage Asbestos Lawyers Social media examiner Social media management life insurance quotes Donate a Car in Maryland Structures Annuity Settlement See more at http//wwwginfostopnet/ Donate your car Sacramento CHEAP DOMAIN REGISTRATION HOSTING mesothelioma law firms Italian cooking school personal injury accident lawyer uk homeowner loans houston mesothelioma attorney Proud Italian cook Futuristic architecture st louis mesothelioma attorney Paperport Promotional Code life insurance co lincoln Dallas mesothelioma attorneys Online Classes WordPress theme designers business email web hosting structured settlement purchasers Insurance Companies car accident lawyers west palm beach Best Criminal Lawyers in Arizona How to Donate A Car in California car insurance companies Mesothelioma Law Firm Massage School Dallas Texas car donate refinance with bad credit Donate Cars in MA car accident lawyers NUNAVUT CULTURE Donate Car for Tax Credit Donate Your Car Sacramento BETTER CONFERENCING CALLS CAR INSURANCE QUOTES PA personal injury law firm Better Conference Calls Sell Annuity Payment Donate Your Car for Kids HOW TO DONATE A CAR IN CALIFORNIA EMAIL BULK SERVICE Dayton Freight Lines Car Insurance Quotes Colorado personal injury solicitor federal criminal defense attorney Attorney Hard drive Data Recovery Services state of california car insurance Neuson emergency response plan ppt Cheap Domain Registration Hosting Donate Cars Illinois la personal injury lawyer phd in counseling education buying structured settlements business administration masters Home Phone Internet Bundle Car Insurance Quotes Utah Holland Michigan College Car insurance quotes Utah Injury Lawyers NEUSON Car insurance quotes pa DONATING USED CARS TO CHARITY Online Colleges Donate Old Cars to Charity refinance with poor credit integrated ehr google affiliate primary pulmonary hypertension Email Bulk Service MASSAGE SCHOOL DALLAS TEXAS google adsense structured settlement buyer