Форум программистов, компьютерный форум, киберфорум
jQuery
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
-39 / 0 / 0
Регистрация: 11.08.2014
Сообщений: 72

Как правильно сократить код

08.02.2019, 20:45. Показов 480. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте дорогие форумчане!
Помогите пожалуйста сократить данный код. Как видите в данном коде возникает повторяемость что свою очередь привело к громоздкому коду. Код в JS
JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
$(document).ready(function() {
    $('#******cy').click(function(){
        ******cy()
    })
    $('#shops').click(function(){
        shops()
    })
    $('#restaurant').click(function(){
        restaurant()
    })
    $('#universities').click(function(){
        university()
    })
})
Вот тут HTML
HTML5
1
2
3
4
5
6
7
8
<div class="navbar mp-none ">
    <ul class="mp-none vheight">
        <li><a href="#******cy"     id="******cy"><i class="fa fa-calendar-plus fa-2x"></i><br>******cy</a></li>
        <li><a href="#shops"        id="shops"><i class="fa fa-shopping-cart fa-2x"></i><br>Shops</a></li>
        <li><a href="#restaurants"  id="restaurant"><i class="fa fa-utensils fa-2x"></i><br>Restaurants</a></li>
        <li><a href="#universities" id="universities"><i class="fa fa-university fa-2x"></i><br>Universities</a></li>
    </ul>
</div>
Заранее спасибо.
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
08.02.2019, 20:45
Ответы с готовыми решениями:

Как сократить код?
Сделал карту фотографии с метками с помощью jQuery maphilight. Меток очень много (около 50 человек на групповом фото). И для каждой метки...

Как сократить код?
На странице к ссылкам в меню прикручены якоря: &lt;aside class=&quot;left-content&quot;&gt; &lt;div class=&quot;nav&quot;&gt; &lt;ul&gt; &lt;li&gt;&lt;a...

Как сократить код? и убрать дублирование?
На 5 и 7 строки Шторм ругается &quot;Duplicated jQuery Selector&quot;. Можно как-то сократить или исправить нормально 5,6 и 7 строки? (В data из...

3
 Аватар для Уф
890 / 725 / 447
Регистрация: 13.07.2015
Сообщений: 2,277
08.02.2019, 21:44
кхе, воткни его в хтмл да и все
HTML5
1
2
3
4
5
6
7
8
<div class="navbar mp-none ">
<ul class="mp-none vheight">
<li><a  onclick="******cy()" href="#******cy"><i class="fa fa-calendar-plus fa-2x"></i><br>******cy</a></li>
<li><a  onclick="shops()" href="#shops"><i class="fa fa-shopping-cart fa-2x"></i><br>Shops</a></li>
<li><a  onclick="restaurant()" href="#restaurants"><i class="fa fa-utensils fa-2x"></i><br>Restaurants</a></li>
<li><a  onclick="university()" href="#universities"><i class="fa fa-university fa-2x"></i><br>Universities</a></li>
</ul>
</div>
хотя смысл засовывать все это в именованные функции если они используются по одному разу нет

Добавлено через 4 минуты
если во всех этих функциях однотипный код, то можно будет еще сократить
0
Эксперт JS
6496 / 3907 / 2006
Регистрация: 14.06.2018
Сообщений: 6,781
08.02.2019, 22:03
Если имена произвольные, то можно так:
PHP/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
<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8" />
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
</head>
<body>
    <div class="navbar mp-none ">
        <ul class="mp-none vheight">
            <li><a href="#******cy" id="******cy"><i class="fa fa-calendar-plus fa-2x"></i><br>******cy</a></li>
            <li><a href="#shops" id="shops"><i class="fa fa-shopping-cart fa-2x"></i><br>Shops</a></li>
            <li><a href="#restaurants" id="restaurant"><i class="fa fa-utensils fa-2x"></i><br>Restaurants</a></li>
            <li><a href="#universities" id="universities"><i class="fa fa-university fa-2x"></i><br>Universities</a></li>
        </ul>
    </div>
    <script>
        $(document).ready(function () {
            $('#******cy').click(******cy);
            $('#shops').click(shops);
            $('#restaurant').click(restaurant);
            $('#universities').click(university);
        })
        function ******cy() { console.log("******cy"); }
        function shops() { console.log("shops"); }
        function restaurant() { console.log("restaurant"); }
        function university() { console.log("university"); }
    </script>
</body>
</html>
Но коллекция категорий навевает на мысль, что обычно не надо плодить отдельную функцию на каждую категорию.

А вообще всегда имеет смысл рассматривать применение массивов функций.
0
-39 / 0 / 0
Регистрация: 11.08.2014
Сообщений: 72
10.02.2019, 09:48  [ТС]
Спасибо большое!!!

Добавлено через 58 секунд
amr-now Умеете работать с json файлами, мне нужна ваша помошь.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
10.02.2019, 09:48
Помогаю со студенческими работами здесь

Как можно сократить код используя цикл For?
$('#Memu-Group-A-1').mouseenter(function() { $(&quot;#Memu-Group-A-1 p&quot;).css(&quot;border-bottom&quot;,&quot;3px solid red&quot;); ...

Как правильно вставить jQuery код в код страницы сайта?
привет всем:) у меня возникла проблема, когда я свой jQuery код вставляю в код html главной страницы , у меня моя анимация оказывается в...

Сократить код с использованием функции toggle
скажите пожалуйста как этот код сократить и написать с помощью toggle $(&quot;.btn&quot;).on('click', function () { let input =...

Как сократить код?
У меня есть объект Worker и 6 экземпляров этого объекта. Нужно с новой строчки выводить все значения свойств каждого экземпляра. Мой код...

Сократить код
Доброго времени суток. Есть такое задание: по значениям из заполненной формы строится процентная диаграмма. Код у меня, хоть и довольно...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод. Thinkpad X220 Tablet —. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru