Wordpress Контактная форма 7 Флажок Javacript / CSS Редактирование, кажется, работает, но не работает - PullRequest
0 голосов
/ 20 января 2020

Я пытаюсь стилизовать флажки Контактной формы 7, используя css -только стиль, который я нашел здесь: https://codepen.io/andreasstorm/pen/deRvMy

Стиль включает ряд дополнительных элементов которые не созданы как часть шорткода контактной формы 7.

Насколько мне известно, вывод шорткода контактной формы 7 не легко редактируется, поэтому я пошел по пути использования javascript для добавить и добавить в нужные элементы и классы.

Мне удалось собрать воедино что-то, что работает, но не работает. Я имею в виду, что когда я использую инструменты Chrome Dev для просмотра отредактированной формы, все нужные элементы и классы появляются там. Однако ничто не выглядит иначе. Вероятно, также связано то, что элемент: before из css не отражен в выходном коде html.

Живая версия, которую я использовал для проверки Chrome Dev Tools, находится здесь: https://craftycanineclub.com/book-now/ (сейчас только первый из 5 флажков должен отражать добавленные элементы ... это второстепенная и гораздо более легкая вещь для меня, чтобы понять).

Код, который я здесь предоставил, отражает точный html, который выводится с помощью шорткода контактной формы 7, и js и css, которые я добавил при попытке изменить флажки.

Я надеюсь, что мне просто не хватает понимания того, как javascript работает в этой ситуации. Заранее благодарю за помощь!

jQuery(function ($) {

$('.wpcf7-list-item input').attr("class", "cbx");

var newlabel = document.createElement('label');
newlabel.setAttribute("for",'cbx');
newlabel.setAttribute("class",'check');


var svgElem = document.createElement("svg");
 svgElem.setAttribute("width", "18px");
 svgElem.setAttribute("height", "18px");
svgElem.setAttribute("viewBox", "0 0 18 18");

var newPath = document.createElement('path');
newPath.setAttribute("d", "M1,9 L1,3.5 C1,2 2,1 3.5,1 L14.5,1 C16,1 17,2 17,3.5 L17,14.5 C17,16 16,17 14.5,17 L3.5,17 C2,17 1,16 1,14.5 L1,9 Z");


var polyLine = document.createElement('polyline');
polyLine.setAttribute("points","1 9 7 14 15 4");

newlabel.appendChild(svgElem); 

svgElem.appendChild(newPath);

newPath.appendChild(polyLine);

 

  
document.getElementsByClassName("cbx")[0].appendChild(newlabel);

    
}
       
       )
.check {
  cursor: pointer;
  position: relative;
  margin: auto;
  width: 18px;
  height: 18px;
  -webkit-tap-highlight-color: transparent;
  transform: translate3d(0, 0, 0);
}
.check:before {
  content: "";
  position: absolute;
  top: -15px;
  left: -15px;
  width: 48px;
  height: 48px;
  border-radius: 50%;
  background: rgba(34,50,84,0.03);
  opacity: 0;
  transition: opacity 0.2s ease;
}
.check svg {
  position: relative;
  z-index: 1;
  fill: none;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke: #c8ccd4;
  stroke-width: 1.5;
  transform: translate3d(0, 0, 0);
  transition: all 0.2s ease;
}
.check svg path {
  stroke-dasharray: 60;
  stroke-dashoffset: 0;
}
.check svg polyline {
  stroke-dasharray: 22;
  stroke-dashoffset: 66;
}
.check:hover:before {
  opacity: 1;
}
.check:hover svg {
  stroke: #4285f4;
}
.cbx:checked + .check svg {
  stroke: #4285f4;
}
.cbx:checked + .check svg path {
  stroke-dashoffset: 60;
  transition: all 0.3s linear;
}
.cbx:checked + .check svg polyline {
  stroke-dashoffset: 42;
  transition: all 0.2s linear;
  transition-delay: 0.15s;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class="field-wrap dogname">
  
  <span class="wpcf7-form-control-wrap your-interests">
    
    <span class="wpcf7-form-control wpcf7-checkbox wpcf7-validates-as-required">
      
      <span class="wpcf7-list-item first">
      
        <label>
          <input type="checkbox" name="your-interests[]" value="Boarding Only"><span class="wpcf7-list-item-label">Boarding Only</span>

  </label>
        
  </span>
  </span>
  </span>
</div>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...