Задать вопрос
  • Как исправить скролл?

    @choupa
    Архитектор (обычный, который строит)
    Рассматриваем ситуацию, когда скрыта колонка rightbar.

    Когда мы проматываем страницу до конца, жёлтое поле получает класс centralbar--fixed и position:fixed. Заметим, что других длинных элементов, высотой больше окна, в этот момент на странице нет. Есть только жёлтое поле, но он фиксировано и то, что оно вылезает выше верхнего края страницы не учитывается для скроллинга. Это означает, что скроллинг пропадает, т.е. в этот момент внезапно становится scrollTop = 0.

    Что происходит дальше. Коль скоро значение scrollTop скакнуло в 0, в ту же секунду снова вызывается событие по скроллу, которое честно снимает только что установленный класс centralbar--fixed. Жёлтое поле становится нормально позиционированным, а поскольку scrollTop=0, то мы и видим его с самого начала (test1).

    В вашем варианте предлагаю выключать обработчик скролла, когда он не нужен (скрыта колонка rightbar).

    (function() {
        $(window).on('scroll', myScrollFunction);
    
        $('#timelineToggle').on('click', function() {
          $('.rightbar').toggleClass('close');
          $('.centerbar').toggleClass('test_2');
          if ($('.rightbar').hasClass('close'))	{
              $(window).off('scroll');
          else
              $(window).on('scroll', myScrollFunction);
        });
      })(jQuery)


    Где myScrollFunction, очевидно, ваш обработчик скролла, тот который в отдельном файле.
    Ответ написан
    1 комментарий
  • Как корректно написать селектор с not jquery?

    @choupa
    Архитектор (обычный, который строит)
    $(el).not(this).not($(this).siblings)
    Ответ написан
    1 комментарий
  • Какую формулу можно подобрать?

    @choupa
    Архитектор (обычный, который строит)
    Требуется подобрать функцию отображения, интеграл которой на отрезке [0,1] равен интегралу на отрезке [1,100]. Пусть это будет монотонно убывающая функция. Давайте возьмём 1/(x+a), где a — положительный параметр.

    Подберём значение параметра, чтобы выполнялось указанное выше условия нормировки интегралов.

    Неопределённый интеграл равен ln(x+a)-C.

    Определённый интеграл [0,1] = ln(a+1) - ln a = ln ( (a+1) / a)
    Определённый интеграл [1,100] = ln(a+100) - ln (a+1) = ln ( (a+100) / (a+1))

    Приравниваем их, убрав логарифмы, получаем уравнение (а+1)(а+1) = a(a+100).
    Решение: a=1/98

    Искомое отображение для генератора случайных чисел f(x) = 98/(98x+1)

    __________________________

    UPD: Чёрт. Это будет не среднеарифметическое равно 1, а медиана. Сейчас допилиим задачу.

    __________________________

    UPD2: Чтобы было мат.ожидание равно 1, надо приравнивать друг другу не просто интегралы, а интегралы квадрата функции отображения.

    Чтобы не пересчитывать, можно сказать, что полученная выше 98/(98x+1) — это не само отображение, а его квадрат. Т.е. ответ f(x) = sqrt ( 98/(98x+1) )

    Может и ошибся, но лень думать. Всё, спать!
    Ответ написан
    7 комментариев
  • Как узнать номер элемента имеющего 2 класса??

    @choupa
    Архитектор (обычный, который строит)
    $('#ans-images-box').index($('#ans-images-box.selected')[0]);


    или если номер, прописанный в span, то
    $('#ans-images-box.selected').siblings('span').html();
    Ответ написан
    Комментировать
  • Как сделать обратный клик?

    @choupa
    Архитектор (обычный, который строит)
    $('#speaker').click(function(){
        var v=$('#volume');
        v.val( 50 - parseInt(v.val()) );
      });
    Ответ написан
  • Как убрать из адресной строки /?mail=1?

    @choupa
    Архитектор (обычный, который строит)
    Причины:

    1. Используется GET запрос. Решение: использовать POST.

    2. В action прописан такой URL с /?mail=1. Решение: убрать "хвост" из URL.

    3. Выполняется редирект.

    Но судя по вопросу, вы не программировали этот сайт, поэтому уточните, почему это вас напрягает. Наверное так сделали неспроста.
    Ответ написан
    Комментировать
  • Как получить интерференционную картина в домашних условиях?

    @choupa
    Архитектор (обычный, который строит)
    С интерференцией сложновато, но с дифракцией запросто, но тоже впечатляет. Зажмите в тиски два ровных прямых лезвия, направленных на встречу друг другу, вставив между ними листок бумаги. Я взял в качестве лезвий две стамески, отлично получалась дифракция с обычной лазерной рулеткой.
    Ответ написан
    Комментировать
  • Сверхсветовая передача информации?

    @choupa
    Архитектор (обычный, который строит)
    Высказываю лишь мнение.

    В вашем эксперименте отсутствует закон сохранения, который бы связывал результат есть/нет интерференция на экране А с аналогичным результатом на экране B. Т.е от того, что на экране А вы уничтожили интерференцию за счёт того, что следите за одной из щелей, вовсе не означает, что интерференция пропадёт на экране B.

    Мне так кажется, что вы таким вмешательством действительно частично сколлапсируете ВФ, но запутанность при этом останется! Т.е. ваш коллапс это

    F(x1, x2) -> Fa(x1, x2), где Fa означает функцию, для которой фиксируется щель пролёта для экрана А.

    При этом Fa(x1, x2) по прежнему запутана. Т.е. да, вы зафиксировали пролёт частицы через конкретную щель у экрана А, но не можете сказать, какая это была частица x1 или x2. Вы же предполагаете, что при измерении лишь только у экрана А автоматически произойдёт такой коллапс:

    F(x1, x2) -> Fa(x1)Fb( x2)

    Мне кажется, это не так, для этого нет оснований в виде какого-либо закона сохранения. Соответственно квантовой телепортации в вашем эксперименте не будет. Отсутствует и парадокс, т.к. интерференция на B не нарушается, информация не передаётся.
    Ответ написан
  • Изучения высшей математики с нуля самостоятельно, можете ли посоветовать учебники, видеоуроки или прочие ресурсы?

    @choupa
    Архитектор (обычный, который строит)
    Высшая математика — это что-то собирательное. Я так понимаю, что высшая — это всё что сверх школьного курса. Для начала надо определиться, для чего это вам надо. Если говорить о неком базовой ликвидации безграмотности, то обязательны: линейная алгебра и матанализ. Причём последний можно немного проредить.

    А дальше уже можно специализироваться:

    Теория вероятностей, теория игр, статистика — больше для моделирования всяких "жизненных задач" и бигдаты
    Теория функция, дифференциальные уравнения — больше для радиоэлектроники, для инженерии
    Общая алгебра, теория групп, логика, дифференциальная геометрия — это уже отрыв башки для чистых математиков
    Ответ написан
  • Почему mysql выдает такую ошибку?

    @choupa
    Архитектор (обычный, который строит)
    Я конечно php-самоучка одиночка в личных целях, не знаю, как делают профессионалы. В таких ситуациях я для отладки в явном виде вывожу сформированную строку запроса на экран, копи-пастом отправляю её в phpmyadmin, и смотрю, что получится. Обычно после этого всё становится ясно.
    Ответ написан
  • Убрать клик js в меню?

    @choupa
    Архитектор (обычный, который строит)
    Строки 332-336 замените на

    //open/close mega-navigation
    	$('.cd-dropdown-trigger').on('mouseover', function(event){
    		event.preventDefault();
    		toggleNav();
    	});
      
      $('.cd-dropdown-trigger').on('mouseout', function(event){
    		event.preventDefault();
    		toggleNav();
    	});
    Ответ написан
  • Почему не верно срабатывает проверка?

    @choupa
    Архитектор (обычный, который строит)
    Перепутали расположение операнда, надо

    typeof myNumber != 'number'
    Ответ написан
  • Как сделать наложение текстур на прозрачную картинку (png) или на dom - элемент?

    @choupa
    Архитектор (обычный, который строит)
    Мой вариант. Надо делать в SVG. Заготовить 4 файла:

    1-2. Две текстуры размером на всё поле картинки: с горизонтальным направлением древесины и с вертикальным.

    3-4. Из чертежа двери сделать две маски: одну для участков с горизонтальным направлением текстуры, другую — с вертикальным.

    Ну и всё это совместить. Только имейте ввиду, что вы показали справа картинку отрендеренную, там присутствуют тени. Т.е. дело не только в наложении текстур, но и в освещении, и в рендере. Поэтому не ждите, что за счёт текстур вы получите такую вот картинку, как показали.

    Для улучшения могу посоветовать поверх всего этого наложить сам чертёж, чтобы были дополнительно прорисованы рёбра, т.к. иначе они не будут видны (это будет просто граница двух текстур, никак больше не выделенная).
    Ответ написан
  • Как сверстать эту секцию?

    @choupa
    Архитектор (обычный, который строит)
    Я бы сделал так. Разбил бы картинку на разные png. Красную кривую сделал бы одну без кругов, чистой. При большом экране с некоторого момента (с некоторого большого разрешения) её можно довольно безобидно растягивать на ширину экрана без сохранения пропорций. А круги я бы накладывал поверх, каждый отдельной картинкой. Их не масштабируем, но зато потребуется вычислять их положение по горизонтали в зависимости от растяжения красной кривой, чтобы они попадали на неё.
    Ответ написан
    Комментировать
  • Как ускорить UPDATE MySQL?

    @choupa
    Архитектор (обычный, который строит)
    Я вообще не спец, но если сделать таблицу в виде "стека" с автоинкрементом или даже без него

    INSERT INTO stack VALUES ('article_id');

    А потом считать число строк по каждой новости и периодически таблицу очищать.
    Ответ написан
    Комментировать
  • Есть ссылки и формы, знаю про :visited, hover, link но как редактировать при нахождении на ссылке?

    @choupa
    Архитектор (обычный, который строит)
    Добавить класс, например .active

    a { ... }
    a:hover { ... }
    a:visited { ... }
    a.active { ... }


    А отправлять клиенту страницу, которая выглядит как-то так:

    <a href=...>меню 1</a>
    <a href=... class=active>меню 2</a>
    <a href=...>меню 3</a>
    <a href=...>меню 4</a>
    Ответ написан
    Комментировать
  • Как сделать циклическую замену css класса по клику с помощью js+jquery?

    @choupa
    Архитектор (обычный, который строит)
    Какие-то все злые!

    Вы в коде заменяет сами дивы. При этом обработчики событий, которые были на "старых" дивах пропадают. Поэтому всё срабатывает один раз. Конечно можно повесить обработчики и на "будущие" дивы с помощь live. Но не стоит.

    Замена класса — основная типовая операция, не надо заменять дивы, замените только класс с помощью addClass и removeClass, и обработчики останутся на месте.

    Islam Ibakaev запостил пример.
    Ответ написан
    1 комментарий
  • Как обращаться к элементам событием без указания на их название?

    @choupa
    Архитектор (обычный, который строит)
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
    <script>
       $('.block').click(function(){
           $(this).css({'backgroundColor' : 'black'});
           var myClass = $(this).attr('class');
           var ind = $('.'+myClass).index(this);
           console.log(myClass);
           if (ind) console.log(ind);
        });
    </script>
    Ответ написан
    Комментировать
  • Как добавить дополнительные поля в форму по клику на javascript?

    @choupa
    Архитектор (обычный, который строит)
    Когда вы используете присвоение значения innerHTML (даже через +=) вы полностью заменяете html-содержимое на новое. При этом обработчик, который вы повесили на кнопку id=addnew слетает. Это уже не "та" кнопка с обработчиком, а новая такая же, но уже без обработчика.

    Надо использовать appendChild.
    Ответ написан
    Комментировать