powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / Вызов функции в jQuery
25 сообщений из 77, страница 1 из 4
Вызов функции в jQuery
    #38996798
Teufel666
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Написала такую ерунду... Работает, конечно, но не хочу 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
Вызов функции в jQuery
    #38996813
Фотография Axeleron
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: 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
Вызов функции в jQuery
    #38996824
Teufel666
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Axeleron,
Большое спасибо, все работает.
...
Рейтинг: 0 / 0
Вызов функции в jQuery
    #38996831
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: 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
Вызов функции в jQuery
    #38997313
Фотография бухалтер фантоцци
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
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
Вызов функции в jQuery
    #38997316
Фотография бухалтер фантоцци
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
P.S. Видимо было скопипащено с кода Axeleron не обратив внимания ))
...
Рейтинг: 0 / 0
Вызов функции в jQuery
    #38997378
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
бухалтер фантоцциP.S. Видимо было скопипащено с кода Axeleron не обратив внимания ))Ага, упустил, спасибо :)
...
Рейтинг: 0 / 0
Вызов функции в jQuery
    #38997421
Фотография Axeleron
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
бухалтер фантоцциP.S. Видимо было скопипащено с кода Axeleron не обратив внимания ))
А Axeleron, ну конечно же, все сидел и вручную перевбивал
...
Рейтинг: 0 / 0
Вызов функции в jQuery
    #38997423
Фотография Axeleron
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А вообще советую привыкать к хорошему стилю: использовать не декларации функций, а выражения.
...
Рейтинг: 0 / 0
Вызов функции в jQuery
    #38997436
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AxeleronА вообще советую привыкать к хорошему стилю: использовать не декларации функций, а выражения.Зачем?
...
Рейтинг: 0 / 0
Вызов функции в jQuery
    #38997437
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Возможность Function Declaration вызвать функцию до объявления - это удобно, так как даёт больше свободы в том, как организовать свой код.
А условные объявления - это редкость.
...
Рейтинг: 0 / 0
Вызов функции в jQuery
    #38997442
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Авторитетное мнение:
Илья КанторИногда в коде начинающих разработчиков можно увидеть много Function Expression. Почему-то, видимо, не очень понимая происходящее, функции решают создавать как var func = function(), но в большинстве случаев обычное объявление функции — лучше.

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

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

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

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

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

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

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

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

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

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

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

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


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