Ответы пользователя по тегу JavaScript
  • Gulp-wepb-css не дает импортировать css-файл из node_modules. Как решить?

    @Smexardix
    У меня та же ситуация и я мучался целый день.
    А решение очень простое! Перенесите пайп с gulp-webp-css ( .pipe(webpcss()) ) ниже чистильщика ( .pipe(clean_css()) ) и получится приблизительно такое:
    function css() {
      return src(path.src.css)
        .pipe(
          scss({
            outputStyle: "expanded"
          })
        )
        .pipe(group_media())
        .pipe(
          autoprefixer({
            overrideBrowserslist: ["last 15 versions"],
            cascade: true
          })
        )
        // .pipe(webpcss())
        .pipe(dest(path.build.css))
        .pipe(clean_css())
        .pipe(webpcss())
        .pipe(rename({
          extname: ".min.css"
        }))
        .pipe(dest(path.build.css))
        .pipe(browsersync.stream())
    }

    Спасибо за внимание!
    P.S: можно минификатор опять применить после .pipe(webpcss()) перед ринеймом)
    Ответ написан
    Комментировать
  • Почему не работает калькулятор?

    @Smexardix
    Вот исправленная форма:

    spoiler
    <!DOCTYPE html>
    <html lang="en">
    
    <head>
      <meta charset="UTF-8">
      <meta name="viewport" content="width=device-width, initial-scale=1.0">
      <title>Document</title>
    </head>
    
    <body>
      <form>
        <div class="form-group">
          <label>Стоимость</label>
          <input type="text" class="form-control3" id="summa" value="1000">
        </div>
        <div class="form-group">
          <label for="amount-sample-4">Страна:</label>
          <div class="form-check">
            <input class="form-check-input" type="radio" name="exampleRadios" id="rossia" value="0" checked>
            <label class="form-check-label" for="rossia">
              Россия
            </label>
          </div>
          <div class="form-check">
            <input class="form-check-input" type="radio" name="exampleRadios" id="drstrana" value="600">
            <label class="form-check-label" for="drstrana">
              Другая страна
            </label>
          </div>
        </div>
        <div class="form-group">
          <label for="name-sample-4">Адрес:</label>
          <div>
            <input id="name-sample-4" required="" placeholder="" class="form-control" type="text" value="Walter" size="30">
          </div>
        </div>
        <div class="form-group">
          <label for="amount-sample-4">Доставка:</label>
          <div class="form-check">
            <input class="form-check-input" type="radio" name="exampleRadios1" id="pochta" value="600" checked>
            <label class="form-check-label" for="pochta">
              Почта России
            </label>
          </div>
          <div class="form-check">
            <input class="form-check-input" type="radio" name="exampleRadios1" id="kurier" value="0">
            <label class="form-check-label" for="kurier">
              Курьерская доставка
            </label>
          </div>
        </div>
        <button id="calc">Посчитать</button>  <!-- Добавил кнопку для пересчета с новыми значениями -->
          <br />
          <br />
        <div>Стоимость дизайна сайта: <span id="result">0</span> руб.</div>
      </form>
    
      <script src="s.js"></script>
    </body>
    </html>


    А вот исправленный скрипт:

    spoiler
    var button = document.getElementById("calc"); 
      button.addEventListener('click', calc);
    
    function calc(e) {
      e.preventDefault();  // запретить действие по умолчанию, иначе скрипт не будет работать
      var result = document.getElementById("result"); 
      var summa = document.getElementById("summa");
      var rossia = document.getElementById("rossia");
      var drstrana = document.getElementById("drstrana");
      var pochta = document.getElementById("pochta");
      var kurier = document.getElementById("kurier");
      var price = 0;
    
      summa = parseInt(summa.value);         
    
      rossia = rossia.checked ? parseInt(rossia.value) : 0;
      drstrana = drstrana.checked ? parseInt(drstrana.value) : 0;
      
      pochta = pochta.checked ? parseInt(pochta.value) : 0;
      kurier = kurier.checked ? parseInt(kurier.value) : 0;
    
      price = summa + rossia + drstrana + pochta + kurier;
    
      result.innerHTML = price;
    }
    Ответ написан
    Комментировать