Показать сообщение отдельно
  #1 (permalink)  
Старый 13.10.2012, 11:11
Интересующийся
Отправить личное сообщение для sogologo Посмотреть профиль Найти все сообщения от sogologo
 
Регистрация: 13.10.2012
Сообщений: 11

Вызов функции к элементу по клику (jquery)
Всем привет, по чуть чуть изучаю js и у меня постоянно возникают сложности в оптимизации скриптов.

И вот такая задача у меня:
Задача, при клике на какую нить ссылку, узнать ширину-высоту-позицию элемента, который я укажу, и таких элментов может быть 1-2-3-4-5 то есть много, хочу создать уникальный метод, чтобы не писать отдельные функции для всех элементов, а написать одну функции и использовать ее одной строчкой.
И после задавать полученые параметры другому элементу

хочется что нить такое, но как поняли не работает =) что то делаю не так
function tpl_object(tpl_h,tpl_w,...) {

        var tpl = $(this);

        var tpl_h = tpl.outerHeight(true);
        var tpl_w = tpl.outerWidth(true);
        var tpl_pt = tpl.offset().top;
        var tpl_pl = tpl.offset().left;
    }


    $('#link').click(function() {
        $('box').outerHeight(tpl_object(tpl_h));
    });


А сейчас такой говнокодддд:
var header_top_tpl = $('#header');
    var ht_h = header_top_tpl.outerHeight(true);
    var ht_w = header_top_tpl.outerWidth(true);
    var ht_pt = header_top_tpl.offset().top;
    var ht_pl = header_top_tpl.offset().left;

    $('#link').click(function() {
        $('#box').outerHeight(ht_h);
    });

    var footer_tpl = $('#footer');
    var f_h = footer_tpl.outerHeight(true);
    var f_w = footer_tpl.outerWidth(true);
    var f_pt = footer_tpl.offset().top;
    var f_pl = footer_tpl.offset().left;

    $('#link').click(function() {
        $('#box').outerHeight(f_h);
    });



если много прошу Обещаю скинуть на пиво
Ответить с цитированием