установить переменную для использования в jquery - PullRequest
0 голосов
/ 27 июня 2018

3 года спустя, и я все еще использую этот код на моем Joomla! на сайте работает компонент Event Booking; код теперь помещен в шаблон (пользовательский код), отлично работает!

Сценарий иллюстрирует - с цветами фона в тд - если есть

1) слишком мало (оранжевый) 2) достаточно (зеленый) или 3) слишком много (синих) присутствующих на моих мероприятиях.

Теперь есть второе место с различными уровнями и двумя типами событий; в надежде добавить функцию для включения в скрипт.

Это наилучшим образом иллюстрирует то, чего я хочу достичь (изображение)

ток я использую этот код jsfiddle

jQuery(document).ready(function($){
if(jQuery('td.avai').length){
    var cell = jQuery('td.bg_status');
    var diff = jQuery('td.avai').html();
    cell.each(function() {
        var cell_value = jQuery(this).html();
        if(diff != 12) {    
            if ((cell_value >= 0) && (cell_value <=11)) {
                jQuery(this).css({'background' : '#FF9900'});   
            } else if ((cell_value >= 12) && (cell_value <=49)) {
                jQuery(this).css({'background' : '#99cc00'});
            } else if (cell_value >= 50) {
                jQuery(this).css({'background' : '#99ccff'});
            }
        }
    });
}
});

Rgds,

батут

Ответы [ 2 ]

0 голосов
/ 29 июня 2018

Во-первых, текущий $ в аргументе вашей функции не имеет никакого значения. Что вам нужно, так это использовать IIFE, принимая в качестве аргумента jQuery, чтобы вы могли изолировать свой код и безопасно использовать $ внутри.

Тогда ваше использование «пределов» немного странно, я не уверен, если вы знаете разницу между строго и не строго выше / ниже.

в любом случае версия работающего кода будет https://jsfiddle.net/859mfkvL/17/

(function($) {
    $(function() {
    if ($('td.avai').length) {
      var cell = $('td.bg_status');
      var diff = $('td.avai').html();
      var txt = $('td.text').html();
      var limits;

      if (txt.indexOf('yang') === -1) {
        limits = [14, 15, 49, 50];
      } else {
        limits = [7, 8, 59, 60];
      }

      cell.each(function() {
          var cell_value = $(this).html();
          if(diff != 15) {    
              if ((cell_value >= 0) && (cell_value <= limits[0])) {
                  $(this).css({'background' : '#FF9900'});   
              } else if ((cell_value >= limits[1]) && (cell_value <=limits[2])) {
                  $(this).css({'background' : '#99cc00'});
              } else if (cell_value >= limits[3]) {
                  $(this).css({'background' : '#99ccff'});
              }
          }
      });
        }
  });
})(jQuery);
0 голосов
/ 27 июня 2018

Попробуйте это

 jQuery(document).ready(function($){
if(jQuery('td.avai').length){
    var cell = jQuery('td.bg_status');
    var diff = jQuery('td.avai').html();
    cell.each(function() {
        var cell_value = jQuery(this).html();
      var textValue= jQuery('td.text').html().replace(/\s/g,'');
      var array1;
      if (textValue==='ying')
      {     
        array1=[14,15,49,50];

      }
      else if (textValue==='yang')
      {
        array1=[7,8,59,60];

      }

        if(diff != array1[1]) {    
            if ((cell_value >= 0) && (cell_value <=array1[0])) {
                jQuery(this).css({'background' : '#FF9900'});   
            } else if ((cell_value >= array1[1]) && (cell_value <=array1[2])) {
                jQuery(this).css({'background' : '#99cc00'});
            } else if (cell_value >= array1[3]) {
                jQuery(this).css({'background' : '#99ccff'});
            }
        }
    });
}
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...