Показаны сообщения с ярлыком javascript. Показать все сообщения
Показаны сообщения с ярлыком javascript. Показать все сообщения

четверг, 15 марта 2012 г.

twitter bootstrap: ширина модального окна

Многие не без причины любят twitter bootstrap. Среди его плагинов есть Modal dialog. И он замечателен. А если знать как модифицировать его ширину, жизнь становится вообще сказкой. No exception.

Вот как это можно сделать:

 $('#feedback-modal').modal({
        backdrop: true,
        keyboard: true
    }).css({
        width: 'auto',
        'margin-left': function () {
            return -($(this).width() / 2);
        }
    });

Рецепт подкинул некто rviscomi, вот здесь: https://github.com/twitter/bootstrap/issues/675#issuecomment-3664958.

среда, 10 ноября 2010 г.

Рандомный цвет в js


rand_color = function() { return '#' + (Math.round(Math.random() * Math.pow(2, 24))).toString(16); }

понедельник, 13 сентября 2010 г.

День программиста-2010

Поздравляем программистов всех стран с их профессиональным праздником - днем программиста! Вот вам указ об официальном празднике: "О дне программиста".
Пусть даже разбег дат у нас небольшой - 13 сентября в простой год, о 365 днях, и 12 сентября - в високосный, о 366), мы все равно запасли для вас разные способы узнать, когда же он будет, на таких языках программирования как Python и JavaScript (хотели бы сами получить варианты на хаскелле и каком-нибудь брейнфаке):

python:
from datetime import date, timedelta

def prog_date():
    today = date.today()
    return today.replace(month=1, day=1) + timedelta(256)

if __name__ == '__main__':
    print prog_date()

javascript:
function prog_date() {
    today = new Date();
    today.setMonth(0, 1);
    today.setDate(256);
    return today;
}

* А эту функцию так мы вообще выполним:


понедельник, 9 августа 2010 г.

JavaScript, jQuery: обертки

Когда-то можно было пользоваться такой функцией без всякого сомнения:


function $(id) { 
    return getElementById(id); 
}


Теперь же, когда многие используют библиотеку jQuery, объявление подобной функции может привести к неработоспособности другого кода, так как $ является синонимом для jQuery.

В таком случае можно либо явно указывать jQuery вместо знака доллара, либо прибегнуть к более изящному решению - оберткам:

Было:


function f(arg1, arg2) {

$('#some_selector')// ...

}

Стало:

function f(arg1,arg2) {
(function($) {
        $('#some_selector')// ... code
    })(jQuery)

}

Здесь мы создаем анонимную функцию и сразу же ее вызываем. Она представляет собой старую функцию с несколько измененной сигнатурой: в качестве параметра она получит jQuery, а "старые" аргументы будут доступны ей благодаря замыканиям.

суббота, 10 июля 2010 г.

JavaScript: быстрый просмотр кода функции/метода

Часто веб-разработчику приходится искать ту или иную JavaScript-функцию на сайте (например, чтобы понять, как работает доставшийся ему в наследство код и исправить). Учитывая, что функции пишутся  в разных файлах и вставляются в страницу с помощью этот процесс может оказаться весьма хлопотным.
хинт:
Вариант 1: любой браузер умеет скачивать "веб-страницу полностью". Можно воспользоваться этой фичей и потом произвести поиск нужной функции в соответствующей папке, в которой содержатся файлы, относящиеся к скачанной веб-странице.
плюсы:

  1. поддерживается любым браузером
  2. как только вы найдете функцию, вы можете сразу приступить к ее правке
минусы:
  1. браузер может не скачать то, что лежит за пределами сайта (и правильно сделает: зачем ему скачивать, например, код яндексовой баннерки)
  2. это все равно не так быстро, как следующий способ:)
Вариант 2: в браузерах Google Chrome и Firefox (+firebug) есть возможность работать с консолью JavaScript. Надо зайти в эту консоль и набрать имя (но не просто вызвать ее: то есть набирать func_name вместо func_name()) нужной функции.

пример использования консоли Google Chrome для быстрого просмотра исходного кода функции showOrHideDateFields
плюсы:
  1. это достаточно быстро
  2. вы можете таким образом просмотреть (и вызвать) любую функцию, которая загружена в память, а не только те, которые выкачаются.
минусы:
  1. браузер должен поддерживать консоль JavaScript (Google Chrome точно пожжерживает)
  2. все равно непонятно, где лежит код этой функции:)