За последние 24 часа нас посетили 18972 программиста и 1567 роботов. Сейчас ищут 1627 программистов ...

Помогите сократить код JS

Тема в разделе "JavaScript и AJAX", создана пользователем SomeGoodBoy, 22 дек 2015.

  1. SomeGoodBoy

    SomeGoodBoy Новичок

    С нами с:
    1 сен 2014
    Сообщения:
    36
    Симпатии:
    0
    Приветствую всех,

    Ребят, подскажите, как можно сократить и объединить указанный ниже код. Буду очень признателен

    Код (PHP):
    1. $("#parent-city").change(
    2.                 function(){
    3.                 var valOpt=$(this).find('option:selected').val();
    4.                 if(valOpt=="1")$("#parent-map").show("fast");
    5.                 else  $("#parent-map").hide("fast")
    6.                 });
    7.                 
    8. $("#parent-city").change(
    9.                 function(){
    10.                 var valOpt=$(this).find('option:selected').val();
    11.                 if(valOpt=="2")$("#spb").show("fast");
    12.                 else  $("#spb").hide("fast")
    13.                 }); 
    Подсказка от модератора:
    Любой код или текст конфигурации пишите между тегом [code=php] и [/code].
    Используйте отступы в коде для форматирования текста.
    Это помогает быстрее понять вас, увеличивает шанс на получение ответа.
    Что выделать? Например: PHP, HTML, CSS, JavaScript, SQL, XML, .htaccess, ini, регулярные выражения, код шаблонизаторов, результаты array/object dump и т.д.
     
  2. Ganzal

    Ganzal Суперстар
    Команда форума Модератор

    С нами с:
    15 мар 2007
    Сообщения:
    9.893
    Симпатии:
    965
    через switch можешь
     
  3. Deonis

    Deonis Старожил

    С нами с:
    15 фев 2013
    Сообщения:
    1.521
    Симпатии:
    504
    Если у вас могут быть только два значения: 1 и 2, то можно так:
    Код (PHP):
    1. var pMap = $("#parent-map"),
    2. spb = $("#spb");
    3. $("#parent-city").change(function() {
    4.   var valOpt = +$(this).val() === 1;
    5.   pMap[valOpt ? 'show' : 'hide']('fast');
    6.   spb[valOpt ? 'hide' : 'show']('fast');
    7. }); 
    Если один элемент скрыт по умолчанию (display: none;), то можно и так:
    Код (PHP):
    1. var spbAndMap = $("#parent-map, #spb");
    2. $("#parent-city").change(function() {
    3.     spbAndMap.toggle('fast');
    4. }); 
     
  4. SomeGoodBoy

    SomeGoodBoy Новичок

    С нами с:
    1 сен 2014
    Сообщения:
    36
    Симпатии:
    0
    Точно, спасибо большое, перестроил скрипт