27 kwi 2016

Obrót strony o losową liczbę stopni

PHP:

$rotate_deg = rand(2, 4);
if(time()%3==0) $rotate_deg=180;
$smarty->assign('rotate_deg', $rotate_deg);

Smarty, html i css:

!{if $smarty.now%2==0 && $now_date=='04-01'}!
<style>body {overflow-x: hidden;}</style>
<div style="position: fixed; bottom:10px; left:10px; font-size:15px; color:green;">;)</div>
<div style="transform:rotate(!{$rotate_deg}!deg); -webkit-transform:rotate(!{$rotate_deg}!deg); -moz-transform:rotate(!{$rotate_deg}!deg); -o-transform:rotate(!{$rotate_deg}!deg);">
!{else}!
<div>
!{/if}!
..... strona ....
</div>
27 kwi 2016

Przykład dodania obsługi hover do wierszy tabeli

jQuery(document).ready(function () {
  jQuery('.zasoby tr.zasoby_row').hover(
    function () {
      jQuery(this).css({ 'background-color': "#f8f8f8" });
    }, function () {
      jQuery(this).css({ 'background': 'transparent' });
    }
  );
});
27 kwi 2016

Obliczanie różnicy czasu i obliczanie nowej daty

error_reporting(E_ALL ^ E_WARNING ^ E_PARSE ^ E_NOTICE);
//date_default_timezone_set ("PL/PL");
date_default_timezone_set ("Europe/Warsaw");

class date_check {
static public function check_on($data) {
$day_ts = 86400;

$date_order = $data['date_order'];
$roznica = (strtotime($date_order)-strtotime(date('Y-m-d')));

$roznica_day = floor($roznica/$day_ts);

echo $date_order."";
echo $roznica."";
echo $roznica_day."";

if($roznica_day<12) {

$date_start = date('Y-m-d', strtotime("1 day"));
$date_stop = date('Y-m-d', strtotime("21 day"));

} else {

$day_back = -10;
$day_next = 10;

$date_start = date('Y-m-d', strtotime($date_order." ".$day_back." day"));
$date_stop = date('Y-m-d', strtotime($date_order." ".$day_next." day"));
}

return array('date_start'=>$date_start, 'date_stop'=>$date_stop);
}
}

$data_back = date_check::check_on(array('date_order'=>'2016-04-18'));

echo $data_back['date_start']."";
echo $data_back['date_stop']."";

$data_back = date_check::check_on(array('date_order'=>'2016-04-11'));

echo $data_back['date_start']."";
echo $data_back['date_stop']."";

$data_back = date_check::check_on(array('date_order'=>'2016-04-26'));

echo $data_back['date_start']."";
echo $data_back['date_stop']."";

Wynik działania:

2016-04-18
-777600
-9
2016-04-28
2016-05-18

2016-04-11
-1382400
-16
2016-04-28
2016-05-18

2016-04-26
-86400
-1
2016-04-28
2016-05-18

27 kwi 2016

Przykład użycia seTimeOut

var test = function () {
  if (condition) {
    console.log('ok')
  }
  else {
    setTimeout(test, 1000);
  }
}
test();

Request do serwera co 1 minutę:

var timer = window.setInterval(function () {

  var time = (new Date).getTime();
  var ajax = jQuery.ajax({
    url: '?a=touch',
    cache: false,
    type: 'get',
    dataType: "json",
    data: {
      time: time
    },
    success: function (data) {
    }
  })
}, 60000);
27 kwi 2016

Użycie selekotorów do ustawienia domyślnych wartości formualrza

$('input[name^="czreal"]').val('2 dni robocze')
function test() {
 $('#Imie').val('Test');
 $('input[name=Nazwisko]').val('Test');
 $('#Plec[value="0"]').prop( "checked", true );
 $('#Stanowisko').val('Tester');
 $('select[name=typ_umowy]').get(0).options[1].selected=true;
 $('#stanowisko_kosztowe').val('100');
 $('select[name="Pytanie[16][]"').get(0).options[1].selected=true;
}