• Почему код на странице правильно отображается во всех браузерах, кроме приложения Google Chrome на Realme 11 Pro +?

    @BLM21 Автор вопроса
    В моём случае проблема решилась регулированием background-size у иконки.
    Однако вопрос парадокса всё равно остался открытым. Благодаря замечательному куратору Ankhena , которому я премного благодарен за участие, интерес и терпение, просто переделал часть кода CSS у трёх блоков, и всё стало сколько-то да лучше.
    Ответ написан
    Комментировать
  • Почему кнопка, скрывающая-раскрывающая несколько строк таблицы, мертва?

    @BLM21 Автор вопроса
    ProjectSoft, был неправ, да и не прочитал полностью. Ну да ладно.
    Уже давно в комментариях написано, что дело оказалось не в кэше, ибо версионка выполняла свою функцию, и не в Jquery. Дело оказалось в том, что я упоролся в разглядывание кода сниппета - это раз, и страницу обновлял F5 , глядя в ту часть страницы, где знал, что вызван мой сниппет, совершенно не заметив, что этот сниппет дважды вызывался на странице, а в сниппете-то ID ... и вот то место на странице, где я разглядывал - это был второй раз вызванный сниппет , а код прекрасно в это время работал для сниппета, который вызывался на странице раньше - выше по скроллу, куда я и смотреть не думал, настолько был уверен, что сниппет вызван на странице единожды...

    Но высокомерие оценено. Всех благ.
    Ответ написан
  • Почему перестал работать код на отложенный Вебвизор Яндекса? Какие-то новшества у Яши, кто знает?

    @BLM21 Автор вопроса
    Короче, видимо, какой-то баг Яндекса, даже он сам в шапке выложил объяву, что сегодня часть счётчиков барахлит, а может, барахлить они начали ещё вчера.

    Код мой абсолютно рабочий, счётчик стал инициализироваться без моих действий сразу, как начинаю скролить.

    Одно ясно: знатоков реальных на мой вопрос явно не зашло.

    Это был не рофл, реально думал не работает счётчик, всем успехов. Признателен всем достойным знатокам, которые помогают мне на этом ресурсе в решении проблем.

    Кому нужен реальный рабочий код, который даст погрешность статистики не намного больше, чем даёт сам Яндекс, забирайте, получайте удовольствие от скорости загрузки сайта без лишних красных замечания от Google при тестах, если остальные параметры производительности на своём сайте уже настроили корректно.

    Увидимся на просторах интернета или здесь.
    Ответ написан
    Комментировать
  • Можно ли в разместить в шапке шесть якорных ссылок, ведущих на якори одной и той же страницы с разными анкорами?

    @BLM21 Автор вопроса
    Adamos - аккаунт классного человека, который скромно в комментариях к вопросу дал ясные чёткие пояснения и весьма убедительный ответ: кнопку раздела - ссылкой на прайс, при наведении на которую уже будет выпадать список из якорных ссылок.
    Ответ написан
    Комментировать
  • Почему в конце og:url для главной добавляется в конце два слэша?

    @BLM21 Автор вопроса
    По пути core/config в файле config.inc.php изменил этот код
    if (!defined('MODX_SITE_URL')) {
        $site_url= $url_scheme . $http_host . MODX_BASE_URL;
        define('MODX_SITE_URL', $site_url);
    }


    на этот код
    if (!defined('MODX_SITE_URL')) {
        $site_url= $url_scheme . $http_host;
        define('MODX_SITE_URL', $site_url);
    }


    Сразу исчез двойной слэш.

    Теперь осталось подумать, как сделать, чтобы на конце ссылки КОНКРЕТНО главной страницы не было слэша вообще. На данный момент <link rel="canonical" href="https://mysite.com/">, а я хочу <link rel="canonical" href="https://mysite.com">
    Ответ написан
    Комментировать
  • Знает ли кто-нибудь, как отвязать открытие кнопки формы от ID? Или как делать нелимитированное количество разных кнопок формы для сайта?

    @BLM21 Автор вопроса
    Этот рабочий ответ посвящаю Ankhena, известную в тесных кругах, как Бог JS.

    И безлимитное количество кнопок, вызывающих модальное окно БЕЗ ПРИВЯЗКИ к ID # , и работает всё корректно, и даже +7 для Telegram теперь работает исправно.

    $(function(){
    	$("#phone").mask("+7 (999) 999-99-99");
      });
    
    
    $(document).ready(function () {
        $(".form-element").submit(function () {
            var formID = $(this).attr('ID');
            var formNm = $('#' + formID);
            var message = $(formNm).find(".form-message");
            var formTitle = $(formNm).find(".form-title");
            $.ajax({
                type: "POST",
                url: 'https://blm21.com/callback-form/telegramform/php/send-message-to-telegram.php',
                data: formNm.serialize(),
                success: function (data) {
                  // Вывод сообщения об успешной отправке
                  message.html(data);
                  formTitle.css("display","none");
    			    $('input','.form-element').not(':input[type=submit], :input[type=hidden], :reset').val('');
    				$(".form-element input[type=submit]").attr('disabled','disabled');
                  /* setTimeout(function(){
                    formTitle.css("display","block");
                    message.html('');
                    $(".form-element input[type=submit]").attr('enabled','enabled');				
                  }, 30000); */
                },
                error: function (jqXHR, text, error) {
                    // Вывод сообщения об ошибке отправки
                    message.html(error);
                    formTitle.css("display","none");
                    setTimeout(function(){
                      formTitle.css("display","block");
                      message.html('');
                      $('input').not(':input[type=submit], :input[type=hidden]').val('');
                    }, 3000);
                }
            });
            return false;
        });	
    	
    });
    
    
      var modal = document.querySelector("#modal"),
    	  closeButton = document.querySelector("#close-button");
    
      closeButton.addEventListener("click", function() {
    	modal.classList.toggle("closed");
    	modalOverlay.classList.toggle("closed");
      });
    
      const  openButtons = document.querySelectorAll(".modal-btn");
      
      openButtons.forEach(btn=> {
        btn.addEventListener("click", () => {
           modal.classList.toggle("closed");
           modalOverlay.classList.toggle("closed");
        });
    })
    
      const  modalOverlay = document.querySelector(".modal-overlay");
    
      modalOverlay.forEach(btn=> {
        modalOverlay.addEventListener("click", () => {
           modal.classList.toggle("closed");
           modalOverlay.classList.toggle("closed");
        });
    })
    Ответ написан
    Комментировать
  • Как кэшировать background (фоновую картинку сайта)?

    @BLM21 Автор вопроса
    Ответ нашёл сам.

    .htaccess содержал ещё такой код:

    <IfModule mod_rewrite.c>
         RewriteEngine On
         RewriteCond %{HTTP_ACCEPT} image/webp
         RewriteCond %{REQUEST_URI}  (.*)(\.(jpe?g|png))$
         RewriteCond %{DOCUMENT_ROOT}/%1\.webp -f
         RewriteRule .* %1\.webp [L,T=image/webp]
     </IfModule>
     <IfModule mod_headers.c>
         Header append Vary Accept env=REDIRECT_accept
     </IfModule>
     <IfModule mod_mime.c>
       AddType image/webp .webp
     </IfModule>


    Великий ThunderCat навёл на верные мысли, дав понять, что всё правильно в .htaccess, что должно действовать правило жизни кэша, поэтому надо копать, как вариант - в расширение файла background.
    Но так как расширение верное, копать пришлось глубже, и код выше дал понять, что в правило не дописано расширение .webp
    Стоило дописать в правило жизни кэша webp, и стала вот такая красота (на скрине), и это по мобильной версии, а для десктопа - вообще сотка. Признателен всем знатокам за участие, включая Adamos за критику.

    6152d0ec5014a338947725.jpeg
    Ответ написан
    Комментировать
  • Как поправить код CSS для подменю?

    @BLM21 Автор вопроса
    Сделал сам. Забирайте, пользуйтесь красивым готовым элементом, список которого можно увеличить запросто новыми ul ниже.
    Теперь попробую переименовать в меню.

    <ul id="nav">
     <li>
     <a class="direct-link" href="/">Ссылка 1</a>
            <ul>
                     <li><a href="/">Ссылка1</a></li>
                     <li><a href="/">Ссылка2</a></li>
            </ul>
    
     </li>
    </ul>
    
    <style>
    
    #nav{
        display: table;
        margin: 0 auto;
        list-style:none;
        margin-bottom:10px;
        white-space:nowrap;
        position:relative;
    }
    
    #nav li{
        float:left;
        margin-right:10px;
        position:relative;
        display:block;
    }
    ul {
        /* Убираю маркеры у списка*/
        list-style: none;
        /* Делаю элементы блочными. */
        display: block;
        /* Убираю отступы. */
        margin: 0;
        /* Убираю еще отступы! */
        padding:0px;
    }
    ul:after {
        /* Делаю элементы блочными. */
        display: block;
        /* Убираю выравнивание. */
        float: none;
        content: ' ';
        clear: both;
    }
    #nav li a{
        display:block;
        padding:5px;
        text-decoration:none;
        
        -moz-border-radius:2px;
        -webkit-border-radius:2px;
        border-radius:2px;
    }
    #nav li a:hover{
        color:#fff;
        background:#6b0c36;
        background:rgba(107,12,54,0.75); /* Выглядит полупрозрачным */
        text-decoration:underline;
    }
     
    /*--- ВЫПАДАЮЩИЕ ПУНКТЫ ---*/
    #nav ul{
        list-style:none;
        position:absolute;
        left:-9999px; /* Скрываем за экраном, когда не нужно (данный метод лучше, чем display:none;) */
        opacity:0; /* Устанавливаем начальное состояние прозрачности */
        -webkit-transition:0.25s linear opacity; /* В Webkit выпадающие пункты будут проявляться */
    }
    #nav ul li{
        padding-top:1px; /* Вводим отступ между li чтобы создать иллюзию разделенных пунктов меню */
        float:none;
        background:url(dot.gif);
    }
    #nav ul a{
        white-space:nowrap; /* Останавливаем перенос текста и создаем многострочный выпадающий пункт */
        display:block;
    }
    #nav li:hover ul{ /* Выводим выпадающий пункт при наведении курсора */
        left:0; /* Приносим его обратно на экран, когда нужно */
        opacity:1; /* Делаем непрозрачным */
    }
    #nav li:hover a{ /* Устанавливаем стили для верхнего уровня, когда выводится выпадающий список */
        background:#6b0c36;
        background:rgba(107,12,54,0.75); /* Выглядит полупрозрачным */
        text-decoration:underline;
    }
    #nav li:hover ul a{ /* Изменяем некоторые стили верхнего уровня при выводе выпадающего пункта */
        text-decoration:none;
        -webkit-transition:-webkit-transform 0.075s linear;
    }
    #nav li:hover ul li a:hover{ /* Устанавливаем стили для выпадающих пунктов, когда курсор наводится на конкретный пункт */
        background:#333;
        background:rgba(51,51,51,0.75); /* Будет полупрозрачным */
        text-decoration:underline;
        -moz-transform:scale(1.05);
        -webkit-transform:scale(1.05);
    }
    
    </style>


    И вот над меню постарался , держите код красивого меню, в которое можете подставлять просто свои заголовки и ссылки .

    <ul class="menu-main">
     <li>
     <a class="direct-link" href="/">Ссылка 1</a>
            <ul>
                     <li><a href="/">Ссылка1</a></li>
                     <li><a href="/">Ссылка2</a></li>
            </ul>
    
     </li>
    </ul>
    
    <style>
    
    .menu-main {
        display: table;
        margin: 0 auto;
        list-style:none;
        margin-bottom:10px;
        white-space:nowrap;
        position:relative;
    }
    
    .menu-main li{
        float:left;
        margin-right:10px;
        position:relative;
        display:block;
    }
    ul {
        /* Убираю маркеры у списка*/
        list-style: none;
        /* Делаю элементы блочными. */
        display: block;
        /* Убираю отступы. */
        margin: 0;
        /* Убираю еще отступы! */
        padding:0px;
    }
    ul:after {
        /* Делаю элементы блочными. */
        display: block;
        /* Убираю выравнивание. */
        float: none;
        content: ' ';
        clear: both;
    }
    .menu-main li a{
        display:block;
        padding:5px;
        text-decoration:none;
        
        -moz-border-radius:2px;
        -webkit-border-radius:2px;
        border-radius:2px;
    }
    .menu-main li a:hover{
        color:#fff;
        background:#6b0c36;
        background:rgba(107,12,54,0.75); /* Выглядит полупрозрачным */
        text-decoration:underline;
    }
     
    /*--- ВЫПАДАЮЩИЕ ПУНКТЫ ---*/
    .menu-main ul{
        list-style:none;
        position:absolute;
        left:-9999px; /* Скрываем за экраном, когда не нужно (данный метод лучше, чем display:none;) */
        opacity:0; /* Устанавливаем начальное состояние прозрачности */
        -webkit-transition:0.25s linear opacity; /* В Webkit выпадающие пункты будут проявляться */
    }
    .menu-main ul li{
        padding-top:1px; /* Вводим отступ между li чтобы создать иллюзию разделенных пунктов меню */
        float:none;
        background:url(dot.gif);
    }
    .menu-main ul a{
        white-space:nowrap; /* Останавливаем перенос текста и создаем многострочный выпадающий пункт */
        display:block;
    }
    .menu-main li:hover ul{ /* Выводим выпадающий пункт при наведении курсора */
        left:0; /* Приносим его обратно на экран, когда нужно */
        opacity:1; /* Делаем непрозрачным */
    }
    .menu-main li:hover a{ /* Устанавливаем стили для верхнего уровня, когда выводится выпадающий список */
        background:#6b0c36;
        background:rgba(107,12,54,0.75); /* Выглядит полупрозрачным */
        text-decoration:underline;
    }
    .menu-main li:hover ul a{ /* Изменяем некоторые стили верхнего уровня при выводе выпадающего пункта */
        text-decoration:none;
        -webkit-transition:-webkit-transform 0.075s linear;
    }
    .menu-main li:hover ul li a:hover{ /* Устанавливаем стили для выпадающих пунктов, когда курсор наводится на конкретный пункт */
        background:#333;
        background:rgba(51,51,51,0.75); /* Будет полупрозрачным */
        text-decoration:underline;
        -moz-transform:scale(1.05);
        -webkit-transform:scale(1.05);
    }
    
    </style>
    Ответ написан
    Комментировать
  • Почему показатель Core не растёт при нагрузке?

    @BLM21 Автор вопроса
    Всё чушь. Выявил парадокс лютый. Дело не в кабелях. Дело в следующем.

    Чтоб видеокарта работала корректно, приходить делать так:
    1) включил комп
    2) запустил видео крайне высокого качества
    3) запустил GPU-Z
    4) жду, пока показатель GPU temperature достигнет хотя бы 46° по Цельсию
    5) выключаю ПК до полного выключения и остановки вентиляторов
    6) отсчитываю не менее 11 секунд
    7) на 12 секунде включаю ПК

    Только при таком раскладе карта нормально работает и бустится. Если что-то из семи пунктов нарушено при выполнении, карта корректно не будет работать, придётся повторять эту же операцию КОРРЕКТНО.

    Вот такие дела. Несколько дней ушло до найденного ответа методом перебора нестандартным мышлением. Фокус, что комп завёлся с кабелем как-то - это совпадение, при котором соблюлись 7 пунктов, указанных выше.

    Трабл в видеокарте, продали новую в KNS , оказалась б/у, и даже болтов не хватает. Цепь питания нарушена, видимо. Но хорошего пайщика нет, а другие разведут по полной. Потому так и живу. На включение компа уходит пять минут, чтобы завелась карта нормально. Благо, я включаю комп раз в день - утром.
    Ответ написан
    3 комментария