Как я могу упростить этот код (JQuery) (переключатель)

0

Я хотел бы показать только "#HideLgf", когда "#LGF_info" щелкнул/проверил в противном случае скрыть его, как это возможно?

        $(document).ready(function(){
        $('#LGF_info').click(function() {
            $('#HideLgf').show(100);
        });

        $('#DDP_info').click(function () {
            $('#HideLgf').hide();
        });

        $('#EXW_info').click(function () {
            $('#HideLgf').hide();
        });


        $('#DDU_info').click(function () {
            $('#HideLgf').hide();
        });


    });
Теги:
show
checked
hide

2 ответа

0
Лучший ответ

Легко. Но я должен признать, что я, вероятно, изменил бы намного больше (например, используйте класс вместо show()/hide(), меньше идентификаторов, правильную функцию и т.д.), Но как все, что вы нам предоставили. А с помощью делегирования событий с помощью on удаляет часто требуется domReady вызова и позволяет повторно использовать обратные вызовы, например, на динамически добавленный контенте.

$(document)
    .on("click", "#DDP_info, #EXW_info, #DDU_info", function(e) {
        $("#HideLgf").hide();
    })
    .on("click", "#LGF_info", function(e) {
        $("#HideLgf").show(100);
    })
;
  • 2
    e.preventDefault(); объяснить e.preventDefault(); цель
  • 0
    e.preventDefault() отменяет текущее событие, но не останавливает распространение. См. JQuery API или MDN . Поскольку я не знаю используемых элементов, и это в принципе никогда не повредит.
Показать ещё 5 комментариев
0

Попробуйте использовать multiple selector здесь, чтобы упростить код,

$('#LGF_info,#DDP_info,#EXW_info,#DDU_info').click(function () {           
   var cache = $('#HideLgf');
   if(this.id == "HideLgf") {
    cache.stop().show(100);
   }
   else {
    cache.hide();
   } 
});
  • 1
    Пожалуйста, объясните, что вы сделали, чтобы ОП (и будущие посетители) поняли синтаксис.
  • 0
    Я ценю троичный больше, чем кто-либо другой, но я ненавижу видеть его без присваивания переменной.
Показать ещё 3 комментария

Ещё вопросы

Сообщество Overcoder
Наверх
Меню