Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / Вызов функции в jQuery / 25 сообщений из 77, страница 1 из 4
01.07.2015, 12:58
    #38996798
Teufel666
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вызов функции в jQuery
Написала такую ерунду... Работает, конечно, но не хочу 2 раза повторят один и тот же код. Хотелось бы вызывать функцию сразу в $(document).ready и в событии $(window).resize. Где объявить эту функцию? Внутри $(document).ready или за ее пределами? Как ее вызывать? $(window).resize(function Resize())? (планирую ее назвать Resize()).
ю
$(document).ready(function()
{
pageWidth = $("html").width();
textWidth = imgWidth = (pageWidth-250)/2;
$('#text').css('width', textWidth);
imgLeftRange = 250 + textWidth;
$('#lungs').css({'left':imgLeftRange, 'width':imgWidth});

$(window).resize(function()
{
pageWidth = $("html").width();
textWidth = imgWidth = (pageWidth-250)/2;
$('#text').css('width', textWidth);
imgLeftRange = 250 + textWidth;
$('#lungs').css({'left':imgLeftRange, 'width':imgWidth});
});
});
...
Рейтинг: 0 / 0
01.07.2015, 13:07
    #38996813
Axeleron
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вызов функции в jQuery
Код: javascript
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
$(document).ready(
    var Resize = function() {
      pageWidth = $("html").width();
      textWidth = imgWidth = (pageWidth-250)/2;
      $('#text').css('width', textWidth);
      imgLeftRange = 250 + textWidth;
     $('#lungs').css({'left':imgLeftRange, 'width':imgWidth});
   };

   $(window).resize(Resize);
   Resize();
);
...
Рейтинг: 0 / 0
01.07.2015, 13:16
    #38996824
Teufel666
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вызов функции в jQuery
Axeleron,
Большое спасибо, все работает.
...
Рейтинг: 0 / 0
01.07.2015, 13:21
    #38996831
skyANA
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вызов функции в jQuery
Код: html
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
<!DOCTYPE html>
<html>
<head>
  <meta charset="utf-8" />
  <title></title>
  <script data-require="jquery" data-semver="2.1.4" src="http://code.jquery.com/jquery-2.1.4.min.js"></script>
  <style>
    #lungs {
      background-color: blue;
      position: absolute;
    }
    
    #text {
      background-color: red;
    }
  </style>
</head>
<body>
  <div id="text">text text text</div>
  <div id="lungs">lungs lungs lungs</div>
</body>
<script>
  function reflowElements() {
    var pageWidth = $("html").width(),
        imgWidth = textWidth = (pageWidth - 250) / 2,
        imgLeftRange = 250 + imgWidth;

    $('#text').css('width', textWidth);
    $('#lungs').css({
      'left': imgLeftRange,
      'width': imgWidth
    });
  }
  
  function onDocumentReady() {
    reflowElements();
    
    $(window).resize(onWindowResize);
  }
  
  function onWindowResize() {
    reflowElements();
  }

  $(document).ready(onDocumentReady);
</script>
</html>
...
Рейтинг: 0 / 0
01.07.2015, 21:49
    #38997313
бухалтер фантоцци
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вызов функции в jQuery
skyANA
Код: javascript
1.
2.
3.
    var pageWidth = $("html").width(),
        imgWidth = textWidth = (pageWidth - 250) / 2,
        imgLeftRange = 250 + imgWidth;


Переменная textWidth здесь объявляется как глобальная (свойство объекта window),
чтобы сделать её локальной, нужно немного переписать:

Код: javascript
1.
2.
3.
4.
    var pageWidth = $("html").width(),
        textWidth = (pageWidth - 250) / 2,
        imgWidth = textWidth,
        imgLeftRange = 250 + imgWidth;
...
Рейтинг: 0 / 0
01.07.2015, 21:51
    #38997316
бухалтер фантоцци
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вызов функции в jQuery
P.S. Видимо было скопипащено с кода Axeleron не обратив внимания ))
...
Рейтинг: 0 / 0
02.07.2015, 00:10
    #38997378
skyANA
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вызов функции в jQuery
бухалтер фантоцциP.S. Видимо было скопипащено с кода Axeleron не обратив внимания ))Ага, упустил, спасибо :)
...
Рейтинг: 0 / 0
02.07.2015, 03:38
    #38997421
Axeleron
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вызов функции в jQuery
бухалтер фантоцциP.S. Видимо было скопипащено с кода Axeleron не обратив внимания ))
А Axeleron, ну конечно же, все сидел и вручную перевбивал
...
Рейтинг: 0 / 0
02.07.2015, 03:48
    #38997423
Axeleron
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вызов функции в jQuery
А вообще советую привыкать к хорошему стилю: использовать не декларации функций, а выражения.
...
Рейтинг: 0 / 0
02.07.2015, 06:26
    #38997436
skyANA
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вызов функции в jQuery
AxeleronА вообще советую привыкать к хорошему стилю: использовать не декларации функций, а выражения.Зачем?
...
Рейтинг: 0 / 0
02.07.2015, 06:30
    #38997437
skyANA
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вызов функции в jQuery
Возможность Function Declaration вызвать функцию до объявления - это удобно, так как даёт больше свободы в том, как организовать свой код.
А условные объявления - это редкость.
...
Рейтинг: 0 / 0
02.07.2015, 06:43
    #38997442
skyANA
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вызов функции в jQuery
Авторитетное мнение:
Илья КанторИногда в коде начинающих разработчиков можно увидеть много Function Expression. Почему-то, видимо, не очень понимая происходящее, функции решают создавать как var func = function(), но в большинстве случаев обычное объявление функции — лучше.

Если нет явной причины использовать Function Expression — предпочитайте Function Declaration.
...
Рейтинг: 0 / 0
02.07.2015, 10:15
    #38997527
Axeleron
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вызов функции в jQuery
skyANAАвторитетное мнение:
Илья КанторИногда в коде начинающих разработчиков можно увидеть много Function Expression. Почему-то, видимо, не очень понимая происходящее, функции решают создавать как var func = function(), но в большинстве случаев обычное объявление функции — лучше.

Если нет явной причины использовать Function Expression — предпочитайте Function Declaration.
Кто это?
...
Рейтинг: 0 / 0
02.07.2015, 10:59
    #38997564
skyANA
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вызов функции в jQuery
AxeleronskyANAАвторитетное мнение:
пропущено...

Кто это? https://ru.linkedin.com/in/iliakan
...
Рейтинг: 0 / 0
02.07.2015, 11:01
    #38997565
skyANA
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вызов функции в jQuery
Создатель javascript.ru и learn.javascript.ru
...
Рейтинг: 0 / 0
02.07.2015, 11:22
    #38997590
Axeleron
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вызов функции в jQuery
skyANA, жаль, что ты согласен с ним. Потому что использование обьявления функции напрямую, а не переменную под функцию противоречит принципам ООП в JS. Оно и ясно, так как по его профилю очевидно, что он карьеру последние годы делал исключительно как фронт энд.
...
Рейтинг: 0 / 0
02.07.2015, 11:42
    #38997624
skyANA
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вызов функции в jQuery
AxeleronskyANA, жаль, что ты согласен с ним. Потому что использование обьявления функции напрямую, а не переменную под функцию противоречит принципам ООП в JS. Оно и ясно, так как по его профилю очевидно, что он карьеру последние годы делал исключительно как фронт энд.Ты хоть понял, какую глупость сейчас сказал? Две. :)
...
Рейтинг: 0 / 0
02.07.2015, 11:52
    #38997638
skyANA
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вызов функции в jQuery
AxeleronПотому что использование обьявления функции напрямую, а не переменную под функцию противоречит принципам ООП в JS.
A Function Declaration defines a named function variable without requiring variable assignment.

Объявляя функции, ты объявляешь переменную с именем функции, то есть твоё утверждение можно перефразировать так:
"Потому что использование обьявления переменной с именем функции, а не переменную под функцию противоречит принципам ООП в JS."

Какая чушь :)
...
Рейтинг: 0 / 0
02.07.2015, 11:52
    #38997639
Axeleron
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вызов функции в jQuery
skyANAAxeleronskyANA, жаль, что ты согласен с ним. Потому что использование обьявления функции напрямую, а не переменную под функцию противоречит принципам ООП в JS. Оно и ясно, так как по его профилю очевидно, что он карьеру последние годы делал исключительно как фронт энд.Ты хоть понял, какую глупость сейчас сказал? Две. :)
Какие?
...
Рейтинг: 0 / 0
02.07.2015, 11:52
    #38997643
skyANA
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вызов функции в jQuery
AxeleronskyANAпропущено...
Ты хоть понял, какую глупость сейчас сказал? Две. :)
Какие? Выше читай.
...
Рейтинг: 0 / 0
02.07.2015, 11:53
    #38997645
Axeleron
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вызов функции в jQuery
skyANAAxeleronПотому что использование обьявления функции напрямую, а не переменную под функцию противоречит принципам ООП в JS.
A Function Declaration defines a named function variable without requiring variable assignment.

Объявляя функции, ты объявляешь переменную с именем функции, то есть твоё утверждение можно перефразировать так:
"Потому что использование обьявления переменной с именем функции, а не переменную под функцию противоречит принципам ООП в JS."

Какая чушь :)
Вы у себя не используете классы в JS?! Вау...
...
Рейтинг: 0 / 0
02.07.2015, 11:54
    #38997646
skyANA
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вызов функции в jQuery
Axeleron, ссылку на принципы ООП в JS, которым ты следуешь, можешь дать?
...
Рейтинг: 0 / 0
02.07.2015, 11:55
    #38997649
skyANA
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вызов функции в jQuery
AxeleronskyANAпропущено...

A Function Declaration defines a named function variable without requiring variable assignment.

Объявляя функции, ты объявляешь переменную с именем функции, то есть твоё утверждение можно перефразировать так:
"Потому что использование обьявления переменной с именем функции, а не переменную под функцию противоречит принципам ООП в JS."

Какая чушь :)
Вы у себя не используете классы в JS?! Вау...В JS пока нет классов :) Пока ECMAScript 6 не в ходу.
...
Рейтинг: 0 / 0
02.07.2015, 11:58
    #38997654
Axeleron
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вызов функции в jQuery
skyANAAxeleronпропущено...

Вы у себя не используете классы в JS?! Вау...В JS пока нет классов :) Пока ECMAScript 6 не в ходу.
Вот это чушь. В JS нормальные люди пишут классы и используют их. Но если в вашей компании об этом еще не знаю, то это не значит что в мире также об этом не знают
...
Рейтинг: 0 / 0
02.07.2015, 12:01
    #38997663
skyANA
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вызов функции в jQuery
А если ты о создании объктов такого вида:

Код: html
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
<!DOCTYPE html>
<html>
<body>
  <script>
    function User(name) {

      this.sayHi = function() {
        alert("Привет, я " + name);
      };

    }

    var vasya = new User("Вася"); // создали пользователя
    vasya.sayHi(); // пользователь умеет говорить "Привет"
  </script>
</body>
</html>


То да, мы используем ООП в функциональном стиле.
...
Рейтинг: 0 / 0
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / Вызов функции в jQuery / 25 сообщений из 77, страница 1 из 4
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]