Архив метки: JavaScript

Странный JavaScript

Какого типа будет результат если:

сложить пустой массив с пустым массивом
var c = [] + []; ?
Ответ: пустая строка
сложить пустой массив с пустым объектом
var c = [] + {};
Ответ: [object Object]
переставить местами слагаемые
var c = {} + [];
Ответ: 0
сложить пустой объект с пустым объектом
var c= {} + {}
Ответ: NaN

Автор: Alex Petrov
Дата публикации: 2012-02-01T02:55:00.000-08:00

jQuery UI: Проблема отображения Datepicker в Dialog

Пытаясь встроить поле для даты, используя плагин Datepicker, в диалоговое окно, создаваемое плагином Dialog библиотеки jQuery UI обнаружил проблему. После открытия диалогового окна и выбора поля Datepicker — панель для выбора даты (календарик) отображается позади диалогового окна.

Решить данную проблему можно следующим образом: в CSS файле со стилями для Datepicker находим стиль для класа  .ui-datepicker  и заменяем его на следующий

.ui-datepicker { 
width: 17em; 
padding: .2em .2em 0; 
z-index: 9999 !important; 
}

Автор: Sergiy Kamolov
Дата публикации: 2011-05-25T14:48:00.009+03:00

Как установить SexyBookmarks на свой сайт?

 

SexyBookmarks — очень удобный плагин для WordPress, который позволяет пользователям делится закладками на страницы вашего сайта.

В данной заметке будет описано как установить SexyBookmarks на произвольный сайт, используя только Javascript.

Итак, для начала необходимо скачать и распаковать последнюю версию плагина.

Из всего архива нам понадобятся только несколько файлов:

  • js/sexy-bookmarks-public.js
  • css/style.css
  • images/shr-sprite.png

Далее, подключаем скрипт и файл стилей, перед тегом добавляем следующие строчки кода:

 

Выбираем подходящее место на странице для размещения кнопок и добавляем следующий HTML-код:

Осталось немного поправить Javascript. Открываем файл js/sexy-bookmarks-public.js и внутри обработчика jQuery(document).ready(function () {}) добавляем следующий код, для обработки событий, вызываемых при нажатии на каждую кнопку:

jQuery('.shr-bookmarks a.external').click(function() {

var url = encodeURIComponent(window.location.href), desc = »;

var title = document.title;
var description = $(«meta[name=description]»).attr(«content»);

switch(this.parentNode.className) {
case ‘shr-twitter’:
this.href += ‘?status=’ + title + ‘+-+’ + url;
break;
case ‘shr-linkedin’:
this.href += ‘shareArticle?mini=true&url=’+url+’&title=’+title+’&summary=’+description+’&source=CEEOA’;
break;
case ‘shr-facebook’:
this.href += ‘?t=’ + title + ‘&u=’ + url;
break;
case ‘shr-googlebuzz’:
this.href += ‘?message=’+title+’%0A’+description+’&url=’ +url;
break;
case ‘shr-digg’:
this.href += ‘?phase=2&title=’ + title + ‘&url=’ + url + ‘&desc=’ + description;
break;
case ‘shr-reddit’:
this.href += ‘?title=’ + title + ‘&url=’ + url;
break;
case ‘shr-delicious’:
this.href += ‘?title=’ + title + ‘&url=’ + url;
break;
case ‘shr-stumbleupon’:
this.href += ‘?title=’ + title + ‘&url=’ + url;
break;
case ‘shr-twittley’:
this.href += ‘?title=’ + title + ‘&url=’ + url + ‘&desc=’ + description + ‘&pcat=Internet&tags=’;
break;
case ‘shr-googlebookmarks’:
this.href += ‘?op=add&title=’ + title +’&desc=’+description+ ‘&bkmk=’ + url;
break;
case ‘shr-gmail’:
this.href += ‘?view=cm&tf=0&to=&su=’+title+’&body=’+description+’%0A%0A’+url+’&fs=1’;
break;
case ‘sexy-technorati’:
this.href += ‘?add=’ + url;
break;
case ‘shr-diigo’:
this.href += ‘?title=’ + title + ‘&url=’ + url + ‘&desc=’ + description;
break;
case ‘shr-blinklist’:
this.href += ‘?Action=Blink/addblink.php&Title=’ + title + ‘&Url=’ + url;
break;
case ‘shr-mixx’:
this.href += ‘?title=’ + title + ‘&page_url=’ + url + ‘&desc=’ + description;
break;
case ‘shr-newsvine’:
this.href += ‘?h=’ + title + ‘&u=’ + url;
break;
case ‘shr-yahoobuzz’:
this.href += ‘?submitHeadline=’ + title + ‘&submitUrl=’ + url + ‘&submitSummary=’ + description + ‘&submitCategory=science&submitAssetType=text’;
break;
}
});

Результат:

Автор: Sergiy Kamolov