Новый сайт по новому адресу ignatiev.su - Игнатьев Иван
Если вы что-то искали и не нашли, или у вас возникли вопросы, пишите на e-mail: ivan@ignatiev.su

Новый блог по адресу Блог об ИТ и программировании на русском. Если вы хотите, чтобы я обновил, какие-либо статьи, пожалуйста напишите мне на email.


Web-разработка

Oct 22, 2010 Web-разработка

Как поменять имя callback-функции при запросе JSONP в jQuery

Если мы вспомним заметку jQuery и JSON, в чем подвох?, там я использовал функцию $.getJSON(), в которой в URL задавался параметр callback=? и вместо “?” jQuery подставляла свое значение имени callback-функции (как правило “jsonp< случайное число>“), но иногда нужно указать собственное имя функции, тогда необходимо воспользоваться параметром jsonpCallback в $.ajaxSetup:
Читать далее →



Mar 15, 2010 Web-разработка

Окгругление до сотых

Прошу прощения за маленькие заметки, последнее время очень сильно занят, обещаю в скором времени предоставить что-нибудь полезное и интересное.

Округление до сотых в JavaScript:

 var i  =  1.233342;
 document.write(i.toFixed(2));

Округление до сотых в PHP:

<?php
 $i = 1.233342;
 print round($i, 2);
?>


Nov 16, 2009 Web-разработка

Как избавиться от горизонтальной прокрутки в overflow: scroll

Часто необходимо сделать прокрутку внутри страницы не используя фреймы, например нужно сделать список чего-нибудь, но свойство overflow: scroll; в некоторых (вру, во всех) браузерах постоянно, по надобности и не по надобности выводит обе полосы прокрутки (both scrolls), но горизонтальная полоса, как правило не нужна и ужасно портит дизайн сайта.

Можно использовать свойства overflow-x: scroll (auto) – покажет горизонтальную полосу прокрутки постоянно (только когда понадобится), overflow-y: scroll (auto) – аналогично, только вертикальную , если что-то не получается, то можно изобрести что-то типа такого:

Способ который можно назвать “зло победит зло”. Чтобы скрыть горизонтальную прокрутку у элемента с CSS-свойством overflow: scroll; можно просто создать родительский для этого элемента, меньший по высоте элемент с overflow: hidden;

Код:

<div style="width: 400px; height: 183px; overflow: hidden;">
 <div style="width: 400px; height: 200px; overflow: scroll;">
	Свойство overflow управляет отображением содержания блочного элемента, если оно целиком не помещается и выходит за область заданных размеров.
 </div>
</div>

До процедуры:
CSS overflow scroll С горизонтальной проктуткой

После процедуры:
CSS overflow scroll  без горизонтальной прокрутки

Способ кроссбраузерный, работает везде. Рекомендовано к употреблению.



Sep 23, 2009 Web-разработка

Реакция на колесико мыши, JavaScript

Я уже писал статью Перехват клавиатуры на JavaScript.
Получилось обидели мышку…
Чтобы не обижать мышку в этой статье в вкратце я рассмотрю работу с колесиком мыши. Все начинается того, что нужно указать функцию которая будет обрабатывать event:

<!-- над этим элементом будем крутить колесо мыши -->
<div id="Frame">
<!-- ... -->
</div>
// указываем, что обработчиком колесика будет функция wheel
// для  Mozill`ы
if (document.getElementById('Frame').addEventListener) {
	document.getElementById('Frame').addEventListener('DOMMouseScroll', wheel, false);
}
//для всех остальных
document.getElementById('Frame').onmousewheel = wheel;

далее узнаем на сколько пользователь прокрутил колесико:

function wheel(event) {
   var wDelta = 0; // значение на сколько покрутилось колесо
   // опять забота о кроссбраузерности
   if (event.wheelDelta)  {
        wDelta = event.wheelDelta/120;
    }   else if (event.detail)   {     
        wDelta = -event.detail/3;
    }
    // тут обрабатываем результат, например:
   alert(wDelta);
   // и заботимся о том, чтобы прокручивание колесика над элементом, не прокручивала скроллы страницы или еще что
    if (event.preventDefault)
    {
        event.preventDefault();
    }
    event.returnValue = false;
}

Вот и все дела, как всегда применение знания безгранично, ограничены только идеи по применению знаний.



Aug 05, 2009 Web-разработка

На заметку: аналог PHP explode() – JavaScript split()

Все время забываю, как разбить строку на перечислительный массив в JavaScript по разделителю. Теперь не забуду. На PHP:

$test = explode('_',$str);

тоже самое на JavaScript:

test = str.split('_');