Скрыть ссылки #

Скрыть ссылки

Скрыть ссылку при помощи JS
К стандартной ссылке добавляется атрибут onclick, в котором указывается настоящий адрес, по которому перейдёт пользователь при клике по ссылке. А в стандартной записи a href="" указываем адрес, который будет видеть пользователь при наведении на ссылку.

Скрыть ссылку при помощи PHP
Создаем пхп файл у себя на сервере с содержанием:


Скрываем ссылку через файл .htaccess
Redirect 302 /fake_link http://реальная_ссылка/на_чего-нибудь


Скыть ссылку через сервис коротких ссылок - например bit.ly

Введите ПИН на jQuery #

Введите ПИН на jQuery

Ввод кода с клавиатуры или с дисплея на экране, дребежжит при не правильном вводе. ПИН в демке 1234
ДЕМО / Скачать

Слепые немые глухие #

Как воруют пенсии #

PJAX vs jQuery Adress #

PJAX vs jQuery Adress

Вообще-то я очень люблю AJAX. Не представляю себе бэкенд сайта без него -) А вот для фронтенда доселе использовал jquery-adress и радовался жизнью, пока не натолкнулся на технологию PJAX (PushState + Ajax демка).

Крутая вещь! На гитхабе лежат разные сборки, но вот эта зе бест: https://github.com/imsamurai/jquery-pjax - усовершенствованны тригеры (некоторые у меня не заработали), встроенная функция для отправки форм, добавлены хешченжи, хешхистори, выборка тайтлов, учтено гугланалитик, реплейсы (!#) для браузеров что не поддерживают pjax...

Для тех кто в танке -) Вконтактик заходите включаете музичку нажимаете на другую ссылочку, а музяка продолжает играть, а знаете почему?! Да все потому же аяксы-хуяксы, принцыпы те же, только у них самописноэ.

Спасибо ckald, за помощь!

Еще один ява-скрипт заменяющий стандартные checkbox и radio buttons #

Еще один ява-скрипт заменяющий стандартные checkbox и radio buttons

HTML


CSS
.has-js .label_check,
.has-js .label_radio { padding-left: 34px; }
.has-js .label_radio { background: url(radio-off.png) no-repeat; }
.has-js .label_check { background: url(check-off.png) no-repeat; }
.has-js label.c_on { background: url(check-on.png) no-repeat; }
.has-js label.r_on { background: url(radio-on.png) no-repeat; }
.has-js .label_check input,
.has-js .label_radio input { position: absolute; left: -9999px; }

JS
var d = document;
var safari = (navigator.userAgent.toLowerCase().indexOf('safari') != -1) ? true : false;
var gebtn = function(parEl,child) { return parEl.getElementsByTagName(child); };
onload = function() {

var body = gebtn(d,'body')[0];
body.className = body.className && body.className != '' ? body.className + ' has-js' : 'has-js';

if (!d.getElementById || !d.createTextNode) return;
var ls = gebtn(d,'label');
for (var i = 0; i < ls.length; i++) {
var l = ls[i];
if (l.className.indexOf('label_') == -1) continue;
var inp = gebtn(l,'input')[0];
if (l.className == 'label_check') {
l.className = (safari && inp.checked == true || inp.checked) ? 'label_check c_on' : 'label_check c_off';
l.onclick = check_it;
};
if (l.className == 'label_radio') {
l.className = (safari && inp.checked == true || inp.checked) ? 'label_radio r_on' : 'label_radio r_off';
l.onclick = turn_radio;
};
};
};
var check_it = function() {
var inp = gebtn(this,'input')[0];
if (this.className == 'label_check c_off' || (!safari && inp.checked)) {
this.className = 'label_check c_on';
if (safari) inp.click();
} else {
this.className = 'label_check c_off';
if (safari) inp.click();
};
};
var turn_radio = function() {
var inp = gebtn(this,'input')[0];
if (this.className == 'label_radio r_off' || inp.checked) {
var ls = gebtn(this.parentNode,'label');
for (var i = 0; i < ls.length; i++) {
var l = ls[i];
if (l.className.indexOf('label_radio') == -1) continue;
l.className = 'label_radio r_off';
};
this.className = 'label_radio r_on';
if (safari) inp.click();
} else {
this.className = 'label_radio r_off';
if (safari) inp.click();
};
};

ДЕМО