<script> function getRandomColor() { var letters = '0123456789ABCDEF'.split(''); var color = '#'; for (var i = 0; i < 6; i++ ) { color += letters[Math.floor(Math.random() * 16)]; } return color; } alert(getRandomColor()); </script>
sábado, 10 de septiembre de 2016
javascript random color
1and1 crear pagina 404 error 1&1
Crear un fichero .htaccess
Paso 1
Generar la página HTML deseada para cada mensaje de error y subirla al directorio home de su dominio.
Paso 2
Crear un fichero .htaccess (use el
NotePad o similar) y añadir las líneas correspondientes para especificar
el fichero de error. A continuación encontrará ejemplos para
especificar los error documents en los cuáles el nombre del fichero ser
corresponde con el número del error (tenga en cuenta que puede usar
rutas absolutas o relativas):
ErrorDocument 400 http://www.your_domain.com/400.html
ErrorDocument 403 http://www.your_domain.com/403.html
ErrorDocument 404 http://www.your_domain.com/404.html
ErrorDocument 500 http://www.your_domain.com/500.html
ErrorDocument 403 http://www.your_domain.com/403.html
ErrorDocument 404 http://www.your_domain.com/404.html
ErrorDocument 500 http://www.your_domain.com/500.html
Paso 3
Suba el fichero .htaccess al directorio home.
Paso 4
Compruebe el correcto funcionamiento.
Acceda a una URL de su dominio que sepa que provoca un error, para
comprobar que se muestra el fichero configurado a tal efecto.
miércoles, 7 de septiembre de 2016
javascript cargar imagen en un canvas desde input
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8"/>
<script>
//*********************************
window.onload = function()
{
var input = document.getElementById('fotos');
input.addEventListener('change', handleFiles);
}
//*********************************
function handleFiles(e)
{
var ctx = document.getElementById('canvas').getContext('2d');
var img = new Image;
img.src = URL.createObjectURL(e.target.files[0]);
img.onload = function()
{
var MAX_WIDTH = 800;
var MAX_HEIGHT = 600;
var width = img.width;
var height = img.height;
if (width > height)
{
if (width > MAX_WIDTH)
{
height *= MAX_WIDTH / width;
width = MAX_WIDTH;
}
}
else
{
if (height > MAX_HEIGHT)
{
width *= MAX_HEIGHT / height;
height = MAX_HEIGHT;
}
}
canvas.width = width;
canvas.height = height;
ctx.drawImage(img, 0,0,width, height);
}
}
</script>
</head>
<body>
<input type="file" id="fotos" multiple="multiple" />
<br>
<canvas width="400" height="300" id="canvas" style="border: 1px solid #000000;"/>
</body>
</html>
<html>
<head>
<meta charset="utf-8"/>
<script>
//*********************************
window.onload = function()
{
var input = document.getElementById('fotos');
input.addEventListener('change', handleFiles);
}
//*********************************
function handleFiles(e)
{
var ctx = document.getElementById('canvas').getContext('2d');
var img = new Image;
img.src = URL.createObjectURL(e.target.files[0]);
img.onload = function()
{
var MAX_WIDTH = 800;
var MAX_HEIGHT = 600;
var width = img.width;
var height = img.height;
if (width > height)
{
if (width > MAX_WIDTH)
{
height *= MAX_WIDTH / width;
width = MAX_WIDTH;
}
}
else
{
if (height > MAX_HEIGHT)
{
width *= MAX_HEIGHT / height;
height = MAX_HEIGHT;
}
}
canvas.width = width;
canvas.height = height;
ctx.drawImage(img, 0,0,width, height);
}
}
</script>
</head>
<body>
<input type="file" id="fotos" multiple="multiple" />
<br>
<canvas width="400" height="300" id="canvas" style="border: 1px solid #000000;"/>
</body>
</html>
lunes, 5 de septiembre de 2016
PHP subir foto subir imagen limite tamaño no completar que no complete recortar foto cortar imagen validar formulario
<script>
//***************
function validaForm()
{
//** comprueba que no ocupen mas de 2 megas las fotos
var f1=document.getElementById('foto1').value;
var tam=0.0;
document.getElementById('errorFotos').innerHTML="";
if (f1 != "")
{
tam=(foto1.files[0].size / 1024 / 1024);
if (tam>2)
{
document.getElementById("errorFotos").innerHTML='ERROR: foto 1 es mayor a 2 Mb.';
document.getElementById("errorFotos").style.color = "#ff0000";
document.getElementById("errorFotos").style.fontSize = "10px";
muestraCrear();
return false;
}
}
}
</script>
<div id="errorFotos"></div>
<form id="formuFotos" name="formuFotos" action="insertgaleria.php" method="post" enctype="multipart/form-data" onsubmit="return validaForm();">
Nombre <input autocomplete="off" type="text" id="galerianueva" name="galerianueva" value="" style="width: 250px;">
<br>
Foto <input type="file" name="foto1" id="foto1" accept=".jpg,.jpeg">
<br>
</form>
//******************************************************
//******* finero insertgaleria.php
//******************************************************
<?php
$fotoancho=190;
$fotoalto=131;
//##################################################################
function cortarFoto($img_original, $img_nueva)
{
list($w, $h, $type, $attr) = getimagesize($img_original);
$src_im = imagecreatefromjpeg($img_original);
global $fotoancho, $fotoalto;
$src_x = '0'; // comienza x
$src_y = '0'; // comienza y
$src_w = $fotoancho; // ancho
$src_h = $fotoalto; // alto
$dst_x = '0'; // termina x
$dst_y = '0'; // termina y
if ($h<$src_h)
$src_h = $h;
$dst_im = imagecreatetruecolor($src_w, $src_h);
$white = imagecolorallocate($dst_im, 255, 255, 255);
imagefill($dst_im, 0, 0, $white);
imagecopy($dst_im, $src_im, $dst_x, $dst_y, $src_x, $src_y, $src_w, $src_h);
ImageJPEG($dst_im,$img_nueva,100);
}
$foto="";
if ($_FILES["foto1"]["name"]!="")
{
$prefijo=date("YmdHis").$i;
$prefijo.=(rand(10000,99999));
$carpeta="fotos/galeria/";
$nombre=$prefijo.".jpg";
//***
$foto=$carpeta.$nombre;
$fotop=$carpeta."p".$nombre;
$ori=$_FILES["foto1"]["tmp_name"];
redimensionar($ori,$fotop);
cortarFoto($fotop, $fotop);
move_uploaded_file($_FILES["foto1"]["tmp_name"], $foto);
}
(...)
.
//***************
function validaForm()
{
//** comprueba que no ocupen mas de 2 megas las fotos
var f1=document.getElementById('foto1').value;
var tam=0.0;
document.getElementById('errorFotos').innerHTML="";
if (f1 != "")
{
tam=(foto1.files[0].size / 1024 / 1024);
if (tam>2)
{
document.getElementById("errorFotos").innerHTML='ERROR: foto 1 es mayor a 2 Mb.';
document.getElementById("errorFotos").style.color = "#ff0000";
document.getElementById("errorFotos").style.fontSize = "10px";
muestraCrear();
return false;
}
}
}
</script>
<div id="errorFotos"></div>
<form id="formuFotos" name="formuFotos" action="insertgaleria.php" method="post" enctype="multipart/form-data" onsubmit="return validaForm();">
Nombre <input autocomplete="off" type="text" id="galerianueva" name="galerianueva" value="" style="width: 250px;">
<br>
Foto <input type="file" name="foto1" id="foto1" accept=".jpg,.jpeg">
<br>
</form>
//******************************************************
//******* finero insertgaleria.php
//******************************************************
<?php
$fotoancho=190;
$fotoalto=131;
//##################################################################
function cortarFoto($img_original, $img_nueva)
{
list($w, $h, $type, $attr) = getimagesize($img_original);
$src_im = imagecreatefromjpeg($img_original);
global $fotoancho, $fotoalto;
$src_x = '0'; // comienza x
$src_y = '0'; // comienza y
$src_w = $fotoancho; // ancho
$src_h = $fotoalto; // alto
$dst_x = '0'; // termina x
$dst_y = '0'; // termina y
if ($h<$src_h)
$src_h = $h;
$dst_im = imagecreatetruecolor($src_w, $src_h);
$white = imagecolorallocate($dst_im, 255, 255, 255);
imagefill($dst_im, 0, 0, $white);
imagecopy($dst_im, $src_im, $dst_x, $dst_y, $src_x, $src_y, $src_w, $src_h);
ImageJPEG($dst_im,$img_nueva,100);
}
$foto="";
if ($_FILES["foto1"]["name"]!="")
{
$prefijo=date("YmdHis").$i;
$prefijo.=(rand(10000,99999));
$carpeta="fotos/galeria/";
$nombre=$prefijo.".jpg";
//***
$foto=$carpeta.$nombre;
$fotop=$carpeta."p".$nombre;
$ori=$_FILES["foto1"]["tmp_name"];
redimensionar($ori,$fotop);
cortarFoto($fotop, $fotop);
move_uploaded_file($_FILES["foto1"]["tmp_name"], $foto);
}
(...)
.
PHP cambiar tamaño imagen redimensionar imagen
<?php
$fotoancho=800:
$fotoalto=600;
//##################################################################
function redimensionar($img_original, $img_nueva)
{
global $fotoancho, $fotoalto;
$anchurafinal=$fotoancho;
$alturafinal= $fotoalto;
// crear imagen desde original
$img = ImageCreateFromJPEG($img_original);
$anchura = imagesx($img);
$altura = imagesy($img);
$alturafinalAux=abs($anchurafinal*$altura/$anchura);
if ($alturafinalAux >= $alturafinal)
{
$nueva_anchura = $anchurafinal;
$nueva_altura = $alturafinalAux;
}
else
{
$anchurafinal=abs($alturafinal*$anchura/$altura);
$nueva_anchura = $anchurafinal;
$nueva_altura = $alturafinal;
}
// Se crea la mascara de la imagen nueva
$dst_img = ImageCreateTrueColor($nueva_anchura,$nueva_altura);
// redimensionar imagen original copiandola en la imagen
ImageCopyResized($dst_img,$img,0,0,0,0,$nueva_anchura,$nueva_altura,ImageSX($img),ImageSY($img));
// guardar la imagen redimensionada donde indicia $img_nueva
$calidad=100;
ImageJPEG($dst_img,$img_nueva,$calidad);
}
?>
.
$fotoancho=800:
$fotoalto=600;
//##################################################################
function redimensionar($img_original, $img_nueva)
{
global $fotoancho, $fotoalto;
$anchurafinal=$fotoancho;
$alturafinal= $fotoalto;
// crear imagen desde original
$img = ImageCreateFromJPEG($img_original);
$anchura = imagesx($img);
$altura = imagesy($img);
$alturafinalAux=abs($anchurafinal*$altura/$anchura);
if ($alturafinalAux >= $alturafinal)
{
$nueva_anchura = $anchurafinal;
$nueva_altura = $alturafinalAux;
}
else
{
$anchurafinal=abs($alturafinal*$anchura/$altura);
$nueva_anchura = $anchurafinal;
$nueva_altura = $alturafinal;
}
// Se crea la mascara de la imagen nueva
$dst_img = ImageCreateTrueColor($nueva_anchura,$nueva_altura);
// redimensionar imagen original copiandola en la imagen
ImageCopyResized($dst_img,$img,0,0,0,0,$nueva_anchura,$nueva_altura,ImageSX($img),ImageSY($img));
// guardar la imagen redimensionada donde indicia $img_nueva
$calidad=100;
ImageJPEG($dst_img,$img_nueva,$calidad);
}
?>
.
PHP variable global variables globales
<?php
$fotoancho=190;
$fotoalto=131;
//##################################################################
function sumar()
{
global $fotoancho, $fotoalto;
echo ($fotoancho + $fotoalto);
}
?>
.
$fotoancho=190;
$fotoalto=131;
//##################################################################
function sumar()
{
global $fotoancho, $fotoalto;
echo ($fotoancho + $fotoalto);
}
?>
.
sábado, 3 de septiembre de 2016
capturar pantalla PHP
<?php
function getScreenShot($url, $width)
{
$path = "http://s.wordpress.com/mshots/v1/";
return $path.urlencode($url)."?w=".$width;
}
?>
<img alt="" src="<?echo getScreenShot('http://www.vidadelprogramador.com', 300);?>" />
.
function getScreenShot($url, $width)
{
$path = "http://s.wordpress.com/mshots/v1/";
return $path.urlencode($url)."?w=".$width;
}
?>
<img alt="" src="<?echo getScreenShot('http://www.vidadelprogramador.com', 300);?>" />
.
lunes, 29 de agosto de 2016
DIV inmovil DIV flotante DIV que no se mueva v2
<style>
#menu
{
position: absolute;
left:0px;
top:0px;
z-index: 10 !important;
width: 100%;
height: 100px;
background-color: #111111;
filter:alpha(opacity=60);
opacity:0.6;
}
</style>
<body onscroll="colocarMenu(event);">
<div id="menu">
<div style="color: #ffffff; filter:alpha(opacity=100);opacity:1;">
DIV Flotante al hacer scroll
</div>
</div>
<script>
//*** dejar el menu arriba fijo
function colocarMenu(event)
{
var alto1 = document.body.scrollTop;
var alto2 = document.documentElement.scrollTop;
if (alto2>alto1)
alto1=alto2;
document.getElementById("menu").style.top= alto1+"px";
}
</script>
jueves, 25 de agosto de 2016
DIV inmovil DIV flotante DIV que no se mueva
<html>
<body>
<style>
.fijo
{
position: fixed !important;
right:0px;
top:0px;
z-index:10 !important;
}
</style>
<div class="fijo"> DIV Flotante al hacer scroll </div>
<br><br><br><br><br><br><br><br><br><br><br><br>
<br><br><br><br><br><br><br><br><br><br><br><br>
<br><br><br><br><br><br><br><br><br><br><br><br>
</body>
</html>
.
<body>
<style>
.fijo
{
position: fixed !important;
right:0px;
top:0px;
z-index:10 !important;
}
</style>
<div class="fijo"> DIV Flotante al hacer scroll </div>
<br><br><br><br><br><br><br><br><br><br><br><br>
<br><br><br><br><br><br><br><br><br><br><br><br>
<br><br><br><br><br><br><br><br><br><br><br><br>
</body>
</html>
.
martes, 23 de agosto de 2016
php leer codigo fuente de una pagina url
//***************************************************
function codigo_fuente($url){
$url = file($url);
$codigo = '';
foreach ($url as $numero => $linea) {
$codigo .= htmlspecialchars($linea) . '<br />';
}
return $codigo;
}
// Ejemplo de uso
echo codigo_fuente('http://www.marca.es');
.
function codigo_fuente($url){
$url = file($url);
$codigo = '';
foreach ($url as $numero => $linea) {
$codigo .= htmlspecialchars($linea) . '<br />';
}
return $codigo;
}
// Ejemplo de uso
echo codigo_fuente('http://www.marca.es');
.
martes, 28 de junio de 2016
tipo de letra CSS ver un tipo de letra que no esta instalado por defecto en el navegador
// bajarse el tipo de letra
<!DOCTYPE html>
<head>
<title>EmbeddedFont</title>
<style type = "text/css">
@font-face {
font-family: "Miama";
src: url("Miama.otf");
}
@font-face {
font-family: "spray";
src: url("dinNextLight.ttf");
}
h1 {
font-family: Miama;
font-size: 300%;
}
h2 {
font-family: spray;
}
</style>
</head>
<body>
<h1>Embedded Font Demo</h1>
<h2>Here's another custom font</h2>
</body>
</html>
.
(fuente original)
http://www.dummies.com/how-to/content/how-to-use-embedded-fonts-for-your-html5-and-css3-.html
How to Use Embedded Fonts for Your HTML5 and CSS3 Based Web Pages
Although
an HTML5 web developer can suggest any font for a web page, the font
files are traditionally a client-level asset. If the client doesn't have
the font installed, she won't see it. Fortunately, CSS3 supports a
sensible solution for providing downloadable fonts.
The style does not work like most CSS elements. It doesn't apply markup to some part of the page. Instead, it defines a new CSS value that can be used in other markup. Specifically, it allows you to place a font file on your server and define a font family using that font.
It's possible to supply multiple src attributes. This way, you can include both an EOT and OTF version of a font so that it will work on a wide variety of browsers.
When you use this technique, you need to have a copy of the font file locally. It should be in the same directory as your web page. When you begin hosting on a web server, you'll want to move your font file to the server along with all the other resources your web page needs. Just because you can include a font doesn't mean you should. Think carefully about readability.
Also, be respectful of intellectual property. Fortunately there are many excellent free open-source fonts available. Begin by looking at Open Font Library. Google Fonts is another great resource for free fonts. With the Google Font tool, you can select a font embedded on Google's servers, and you can copy code that makes the font available without downloading.
The style does not work like most CSS elements. It doesn't apply markup to some part of the page. Instead, it defines a new CSS value that can be used in other markup. Specifically, it allows you to place a font file on your server and define a font family using that font.
@font-face { font-family: "Miama"; src: url("Miama.otf"); }The font-family attribute indicates the name you will be giving this font in the rest of your CSS code. Typically it is similar to the font file name. The font-family attribute is the URL of the actual font file as it is found on the server. After a font-face has been defined, it can be used in an ordinary attribute in the rest of your CSS code:
h1 { font-family: Miama; }Here's the code for the custom font example:
<!DOCTYPE html> <head> <title>EmbeddedFont</title> <style type = "text/css"> @font-face { font-family: "Miama"; src: url("Miama.otf"); } @font-face { font-family: "spray"; src: url("ideoma_SPRAY.otf"); } h1 { font-family: Miama; font-size: 300%; } h2 { font-family: spray; } </style> </head> <body> <h1>Embedded Font Demo</h1> <h2>Here's another custom font</h2> </body> </html>Although all modern browsers support the @font-face feature, the actual file types supported vary from browser to browser. Here are the primary font types:
- TTF: The standard TrueType format is well-supported, but not by all browsers. Many open-source fonts are available in this format.
- OTF: This is similar to TTF, but is a truly open standard, so it is preferred by those who are interested in open standards. It is supported by most browsers except IE.
- WOFF: WOFF is a proposed standard format currently supported by Firefox. Microsoft has hinted at supporting this format in IE.
- EOT: This is Microsoft's proprietary embedded font format. It only works in IE, but to be fair, Microsoft has had embedded font support for many years.
It's possible to supply multiple src attributes. This way, you can include both an EOT and OTF version of a font so that it will work on a wide variety of browsers.
When you use this technique, you need to have a copy of the font file locally. It should be in the same directory as your web page. When you begin hosting on a web server, you'll want to move your font file to the server along with all the other resources your web page needs. Just because you can include a font doesn't mean you should. Think carefully about readability.
Also, be respectful of intellectual property. Fortunately there are many excellent free open-source fonts available. Begin by looking at Open Font Library. Google Fonts is another great resource for free fonts. With the Google Font tool, you can select a font embedded on Google's servers, and you can copy code that makes the font available without downloading.
domingo, 26 de junio de 2016
tamaño de un fichero upload form html
<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="Content-type" content="text/html;charset=UTF-8">
<title>Show File Data</title>
<style type='text/css'>
body {
font-family: sans-serif;
}
</style>
<script type='text/javascript'>
function showFileSize() {
var input, file;
// (Can't use `typeof FileReader === "function"` because apparently
// it comes back as "object" on some browsers. So just see if it's there
// at all.)
if (!window.FileReader) {
bodyAppend("p", "The file API isn't supported on this browser yet.");
return;
}
input = document.getElementById('fileinput');
if (!input) {
bodyAppend("p", "Um, couldn't find the fileinput element.");
}
else if (!input.files) {
bodyAppend("p", "This browser doesn't seem to support the `files` property of file inputs.");
}
else if (!input.files[0]) {
bodyAppend("p", "Please select a file before clicking 'Load'");
}
else {
file = input.files[0];
bodyAppend("p", "File " + file.name + " is " + file.size + " bytes in size");
}
}
function bodyAppend(tagName, innerHTML) {
var elm;
elm = document.createElement(tagName);
elm.innerHTML = innerHTML;
document.body.appendChild(elm);
}
</script>
</head>
<body>
<form action='#' onsubmit="return false;">
<input type='file' id='fileinput'>
<input type='button' id='btnLoad' value='Load' onclick='showFileSize();'>
</form>
</body>
</html>
.
jueves, 16 de junio de 2016
tamaño interior del navegador BODY
El tamaño interior se consigue con:
Ancho
(window.innerWidth);
Alto
(window.innerHeight);
Ancho
(window.innerWidth);
Alto
(window.innerHeight);
google maps api opciones del mapa que no se vea opciones
var mapOptions = {
zoom: 12,
center: posicionFinal,
mapTypeControl: false,
navigationControl: false,
zoomControl: false,
disableDoubleClickZoom: true,
streetViewControl: false
}
var map = new google.maps.Map(document.getElementById('map_canvas'), mapOptions);
.
zoom: 12,
center: posicionFinal,
mapTypeControl: false,
navigationControl: false,
zoomControl: false,
disableDoubleClickZoom: true,
streetViewControl: false
}
var map = new google.maps.Map(document.getElementById('map_canvas'), mapOptions);
.
google maps api evento cambiar zoom
map.addListener('center_changed', function() {
var elzoom=map.getZoom();
alert(elzoom);
cityCircle.setCenter(map.getCenter());
cityCircle.setRadius(radio);
});
.
var elzoom=map.getZoom();
alert(elzoom);
cityCircle.setCenter(map.getCenter());
cityCircle.setRadius(radio);
});
.
google maps api pintar un circulo
var myLatlng = {lat: 38.35, lng: -0.49};
var cityCircle = new google.maps.Circle({
strokeColor: '#FF0000',
strokeOpacity: 0.1,
strokeWeight: 1,
fillColor: '#FF0000',
fillOpacity: 0.35,
map: map,
center: myLatlng,
radius: 4000
});
// radius se expresa en metros
.
var cityCircle = new google.maps.Circle({
strokeColor: '#FF0000',
strokeOpacity: 0.1,
strokeWeight: 1,
fillColor: '#FF0000',
fillOpacity: 0.35,
map: map,
center: myLatlng,
radius: 4000
});
// radius se expresa en metros
.
google maps api pintar en un DIV las coordenadas del raton
google.maps.event.addListener(map, "mousemove", function (event)
{
var latLng = event.latLng;
document.getElementById('centro').innerHTML=latLng;
});
.
{
var latLng = event.latLng;
document.getElementById('centro').innerHTML=latLng;
});
.
google maps api saber cuando ha finalizado de cargar el mapa
google.maps.event.addListenerOnce(map, 'idle', function(){
// do something only the first time the map is loaded
});
.
miércoles, 15 de junio de 2016
google maps limites bordes del mapa visible
var lat0 = map.getBounds().getNorthEast().lat();
var lng0 = map.getBounds().getNorthEast().lng();
var lat1 = map.getBounds().getSouthWest().lat();
var lng1 = map.getBounds().getSouthWest().lng();
.
timer wait interval javascript reloj
<!DOCTYPE html>
<html>
<body>
<p id="demo"></p>
<button onclick="mover()">MOVER</button>
<button onclick="parar()">PARAR</button>
<script>
var myVar;
function mover()
{
myVar = setInterval(function(){ myTimer() }, 1000);
}
function myTimer()
{
var d = new Date();
var t = d.toLocaleTimeString();
document.getElementById("demo").innerHTML = t;
}
function parar()
{
clearInterval(myVar);
}
</script>
</body>
</html>
.
<html>
<body>
<p id="demo"></p>
<button onclick="mover()">MOVER</button>
<button onclick="parar()">PARAR</button>
<script>
var myVar;
function mover()
{
myVar = setInterval(function(){ myTimer() }, 1000);
}
function myTimer()
{
var d = new Date();
var t = d.toLocaleTimeString();
document.getElementById("demo").innerHTML = t;
}
function parar()
{
clearInterval(myVar);
}
</script>
</body>
</html>
.
sábado, 4 de junio de 2016
api vibrar vibre vibracion pagina web
<script>
if (window.navigator && window.navigator.vibrate) {
navigator.vibrate (1000);
} else {
// En caso de no ser compatible
alert('Tu dispositivo no soporta la API de vibración')
}
var x = navigator.userAgent;
alert(x);
</script>
if (window.navigator && window.navigator.vibrate) {
navigator.vibrate (1000);
} else {
// En caso de no ser compatible
alert('Tu dispositivo no soporta la API de vibración')
}
var x = navigator.userAgent;
alert(x);
</script>
sábado, 28 de mayo de 2016
javascript dia de la semana
//Recibe fecha en formato DD/MM/YYYY
//*************************************
function dia_semana(fecha)
{
fecha=fecha.split('/');
if(fecha.length!=3){
return null;
}
//Vector para calcular día de la semana de un año regular.
var regular =[0,3,3,6,1,4,6,2,5,0,3,5];
//Vector para calcular día de la semana de un año bisiesto.
var bisiesto=[0,3,4,0,2,5,0,3,6,1,4,6];
//Vector para hacer la traducción de resultado en día de la semana.
var semana=['Domingo', 'Lunes', 'Martes', 'Miercoles', 'Jueves', 'Viernes', 'Sabado'];
//Día especificado en la fecha recibida por parametro.
var dia=fecha[0];
//Módulo acumulado del mes especificado en la fecha recibida por parametro.
var mes=fecha[1]-1;
//Año especificado por la fecha recibida por parametros.
var anno=fecha[2];
//Comparación para saber si el año recibido es bisiesto.
if((anno % 4 == 0) && !(anno % 100 == 0 && anno % 400 != 0))
mes=bisiesto[mes];
else
mes=regular[mes];
//Se retorna el resultado del calculo del día de la semana.
return semana[Math.ceil(Math.ceil(Math.ceil((anno-1)%7)+Math.ceil((Math.floor((anno-1)/4)-Math.floor((3*(Math.floor((anno-1)/100)+1))/4))%7)+mes+dia%7)%7)];
}
.
//*************************************
function dia_semana(fecha)
{
fecha=fecha.split('/');
if(fecha.length!=3){
return null;
}
//Vector para calcular día de la semana de un año regular.
var regular =[0,3,3,6,1,4,6,2,5,0,3,5];
//Vector para calcular día de la semana de un año bisiesto.
var bisiesto=[0,3,4,0,2,5,0,3,6,1,4,6];
//Vector para hacer la traducción de resultado en día de la semana.
var semana=['Domingo', 'Lunes', 'Martes', 'Miercoles', 'Jueves', 'Viernes', 'Sabado'];
//Día especificado en la fecha recibida por parametro.
var dia=fecha[0];
//Módulo acumulado del mes especificado en la fecha recibida por parametro.
var mes=fecha[1]-1;
//Año especificado por la fecha recibida por parametros.
var anno=fecha[2];
//Comparación para saber si el año recibido es bisiesto.
if((anno % 4 == 0) && !(anno % 100 == 0 && anno % 400 != 0))
mes=bisiesto[mes];
else
mes=regular[mes];
//Se retorna el resultado del calculo del día de la semana.
return semana[Math.ceil(Math.ceil(Math.ceil((anno-1)%7)+Math.ceil((Math.floor((anno-1)/4)-Math.floor((3*(Math.floor((anno-1)/100)+1))/4))%7)+mes+dia%7)%7)];
}
.
javascript dias en un mes
function daysInMonth(humanMonth, year) {
return new Date(year || new Date().getFullYear(), humanMonth, 0).getDate();
}
daysInMonth(2, 2009); // 28
daysInMonth(2, 2008); // 29
.
return new Date(year || new Date().getFullYear(), humanMonth, 0).getDate();
}
daysInMonth(2, 2009); // 28
daysInMonth(2, 2008); // 29
.
jueves, 26 de mayo de 2016
no dejar seleccionar texto en html
<style>
body{
-webkit-touch-callout: none;
-webkit-user-select: none;
-khtml-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
}
</style>
.
body{
-webkit-touch-callout: none;
-webkit-user-select: none;
-khtml-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
}
</style>
.
martes, 29 de marzo de 2016
desactivar el un formulario memorice los campos
<form autocomplete="off" name="miform" id="miform" action="login.php" method="post">
domingo, 27 de marzo de 2016
cambio de hora: sumar una hora a un campo en mysql (cambio horario)
// a las 2 serán las 3 (marzo)
SELECT * , hora, addtime( hora, '1:00:00' )
FROM `records`
WHERE fecha = '2016-03-27'
AND hora >= '02:00:00'
ORDER BY hora ASC
LIMIT 0 , 30
// a las 2 serán las 3 (marzo)
UPDATE `records` SET `hora` = addtime( hora, '1:00:00' )
WHERE fecha = '2016-03-27'
AND hora >= '02:00:00'
.
SELECT * , hora, addtime( hora, '1:00:00' )
FROM `records`
WHERE fecha = '2016-03-27'
AND hora >= '02:00:00'
ORDER BY hora ASC
LIMIT 0 , 30
// a las 2 serán las 3 (marzo)
UPDATE `records` SET `hora` = addtime( hora, '1:00:00' )
WHERE fecha = '2016-03-27'
AND hora >= '02:00:00'
.
miércoles, 16 de marzo de 2016
jquery zoom imagen
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.0/jquery.min.js"></script>
<script src="http://webdok.dk/07indlejringer/zoomere/elevatezoom/jquery.elevatezoom.js"></script>
$(document).ready(function(){
$("#fotoCirc1").elevateZoom({
zoomType: "lens",
lensShape: "round",
lensSize: 300
});
});
<img id="fotoCirc1" src="c1.png">
.
<script src="http://webdok.dk/07indlejringer/zoomere/elevatezoom/jquery.elevatezoom.js"></script>
$(document).ready(function(){
$("#fotoCirc1").elevateZoom({
zoomType: "lens",
lensShape: "round",
lensSize: 300
});
});
<img id="fotoCirc1" src="c1.png">
.
martes, 15 de marzo de 2016
centrar una tabla dentro de un div
<div style="width: 100%; line-height: 40px;text-align: center; background-color: #ffe487;">
</br>
<table style="margin: 0 auto;">
<tr>
...
.
</br>
<table style="margin: 0 auto;">
<tr>
...
.
viernes, 15 de enero de 2016
ficheros listar directorios carpetas
unit Unit1;
interface
uses
Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls;
type
TForm1 = class(TForm)
Button1: TButton;
procedure Button1Click(Sender: TObject);
function ListaArchivos(directorioPadre: string) : TStringList;
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
ultimo: string;
tamultimo: integer;
implementation
{$R *.dfm}
//****************************************************************
procedure TForm1.FormCreate(Sender: TObject);
begin
ultimo:='';
end;
//****************************************************************
function TForm1.ListaArchivos(directorioPadre: string) : TStringList;
var
sr: TSearchRec;
begin
Result := TStringList.Create;
if FindFirst(directorioPadre + '*', faAnyFile, sr) = 0 then
repeat
if (sr.Attr and faDirectory = 0) or (sr.Name <> '.') and (sr.Name <> '..') then
begin
if ultimo='' then
begin
ultimo:=sr.Name;
tamultimo:=sr.Size;
end
else
begin
if sr.Size>tamultimo then
begin
DeleteFile(directorioPadre+ultimo);
ultimo:=sr.Name;
tamultimo:=sr.Size;
end;
end;
end;
until FindNext(sr) <> 0;
FindClose(sr);
end;
//****************************************************************
procedure TForm1.Button1Click(Sender: TObject);
var
i: integer;
begin
ultimo:='';
ListaArchivos('C:\manual.txt');
ShowMessage(ultimo +' ---- '+inttostr(tamultimo));
end;
end.
.
interface
uses
Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls;
type
TForm1 = class(TForm)
Button1: TButton;
procedure Button1Click(Sender: TObject);
function ListaArchivos(directorioPadre: string) : TStringList;
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
ultimo: string;
tamultimo: integer;
implementation
{$R *.dfm}
//****************************************************************
procedure TForm1.FormCreate(Sender: TObject);
begin
ultimo:='';
end;
//****************************************************************
function TForm1.ListaArchivos(directorioPadre: string) : TStringList;
var
sr: TSearchRec;
begin
Result := TStringList.Create;
if FindFirst(directorioPadre + '*', faAnyFile, sr) = 0 then
repeat
if (sr.Attr and faDirectory = 0) or (sr.Name <> '.') and (sr.Name <> '..') then
begin
if ultimo='' then
begin
ultimo:=sr.Name;
tamultimo:=sr.Size;
end
else
begin
if sr.Size>tamultimo then
begin
DeleteFile(directorioPadre+ultimo);
ultimo:=sr.Name;
tamultimo:=sr.Size;
end;
end;
end;
until FindNext(sr) <> 0;
FindClose(sr);
end;
//****************************************************************
procedure TForm1.Button1Click(Sender: TObject);
var
i: integer;
begin
ultimo:='';
ListaArchivos('C:\manual.txt');
ShowMessage(ultimo +' ---- '+inttostr(tamultimo));
end;
end.
.
Suscribirse a:
Entradas (Atom)
Archivo del blog
-
▼
2016
(30)
- ▼ septiembre (7)
-
►
junio
(12)
- tipo de letra CSS ver un tipo de letra que no esta...
- tamaño de un fichero upload form html
- tamaño interior del navegador BODY
- tamaño resolucion de la pantalla monitor v2
- google maps api opciones del mapa que no se vea op...
- google maps api evento cambiar zoom
- google maps api pintar un circulo
- google maps api pintar en un DIV las coordenadas d...
- google maps api saber cuando ha finalizado de carg...
- google maps limites bordes del mapa visible
- timer wait interval javascript reloj
- api vibrar vibre vibracion pagina web
-
►
2014
(13)
- ► septiembre (2)