2016-05-15 3 views
1

Я работал на веб-сайте для клиента в Wordpress. Я написал HTML, CSS и Javascript, чтобы нажать кнопку входа в систему, и выпадающее меню сбрасывается. Функция onclick работала, но это не сейчас. Я не понимаю, почему он не работает. Веб-сайт: http://outsourceyourjobsearch.com/builder/. Я должен написать весь код в одном файле из-за темы, которую он выбрал для своего сайта.Мой клик на имени пользователя не работает на веб-странице.

<!DOCTYPE html> 
<html> 
<head> 
    <style> 
     .dropbtn { 
      background-color: #4CAF50; 
      color: white; 
      padding: 16px; 
      font-size: 16px; 
      border: none; 
      cursor: pointer; 
     } 

     .dropbtn:hover, .dropbtn:focus { 
      background-color: #3e8e41; 
     } 

     .dropdown { 
      position: relative; 
      float: right; 
      margin-right: 200px; 
     } 

     .dropdown-content { 
      display: none; 
      position: absolute; 
      background-color: #f9f9f9; 
      min-width: 160px; 
      overflow: auto; 
      box-shadow: 0px 8px 16px 0px rgba(0,0,0,0.2);' 
     } 

     .dropdown-content a { 
      color: black; 
      padding: 12px 16px; 
      text-decoration: none; 
      display: block; 
     } 

     .dropdown a:hover { 
      background-color: #f1f1f1 
     } 

     .show { 
      display:block; 
     } 

     .button:hover span:after { 
      opacity: 1; right: 0; 
     } 

     .button span { 
      cursor: pointer; 
      display: inline-block; 
      position: relative; 
      transition: 0.5s; 
     } 

     .button { 
      width: 131px; 
      background-color: white; 
      color: black; 
      border: 2px solid #008CBA; 
      font-size: large; 
      margin-top: 8px; 
      margin-right: 75px; 
     } 

     .login-form{ 
      width: 300px; 
      padding-top: 5px; 
      padding-right: 5px; 
      padding-bottom: 5px; 
      padding-left: 5px; 
     } 

     input{ 
      font-size: large; 
      margin-top: 8px; 
     } 

     .register { 
      margin-left: 25px; 
      text-decoration: none; 
      font-size: small; 
      width: 80px; 
     } 

     .password{ 
      margin-left: 126px; 
      margin-top: -69px; 
      text-decoration: none; 
      font-size: small; 
     } 

     a:link { 
      text-decoration: none; 
     } 

     a:visited { 
      text-decoration: none; 
     } 

     a:active { 
      text-decoration: underline; 
     } 

     center{ 
      display: inline; 
      padding-left: 10px; 
      padding-right: 10px; 
     } 

    </style> 
    </head> 

    <body> 
     <div class="dropdown"> 
      <button onclick="myFunction()" class="dropbtn" > 
      Log In 
     </button> 
     <div id="myDropdown" class="dropdown-content"> 
      <form class="login-form"> 
       <input type="text" placeholder="username"/> 
       <input type="password" placeholder="password"/> 
       <button class ="button">login</button> 
       <div class = "center"> 
        <p><a  href="http://outsourceyourjobsearch.com/membership-account/membership-levels/" class="register">Register</a></p> <p><a href="http://outsourceyourjobsearch.com/wp-login.php?action=lostpassword" class="password">Forgot Password?</a></p> 
       </div>  
      </form> 
     </div> 
    </div> 

    <script> 
    /* When the user clicks on the button, toggle between hiding and showing the dropdown content */ 
    function myFunction() { 
     document.getElementById("myDropdown").classList.toggle("show"); 
    } 

    /* Close the dropdown if the user clicks outside of it */ 
    window.onclick = function(event) { 
     if (!event.target.matches('.dropbtn')) { 

      var dropdowns = document.getElementsByClassName("dropdown-content"); 
      var i; 
      for (i = 0; i < dropdowns.length; i++) { 
       var openDropdown = dropdowns[i]; 
       if (openDropdown.classList.contains('show')) { 
        openDropdown.classList.remove('show'); 
       } 
      } 
     } 
    } 
    </script> 

</body> 
</html> 
+0

* «Функция часов работала, но это не так». * Можете ли вы объяснить, что вы имеете в виду, или была ли * o'clock * опечатка? – SimianAngel

+0

Я изменил его. Это была опечатка. Я имел в виду onclock – pgray10

+0

Onclock? Что такое 'onclock'? Вы имеете в виду 'onclick'? –

ответ

1

Неверная конструкция, которую вы использовали на своем веб-сайте. Я проверил его и блок, который вы использовали, что его HTML является:

<div class="et_pb_fullwidth_code et_pb_module et_pb_fullwidth_code_0"> 
      <!DOCTYPE html> <html> <head> <style> .dropbtn { background-color: #4CAF50; color: white; padding: 16px; font-size: 16px; border: none; cursor: pointer; } .dropbtn:hover, .dropbtn:focus { background-color: #3e8e41; } .dropdown { position: relative; float: right; margin-right: 200px; } .dropdown-content { display: none; position: absolute; background-color: #f9f9f9; min-width: 160px; overflow: auto; box-shadow: 0px 8px 16px 0px rgba(0,0,0,0.2);' } .dropdown-content a { color: black; padding: 12px 16px; text-decoration: none; display: block; } .dropdown a:hover { background-color: #f1f1f1 } .show { display:block; } .button:hover span:after { opacity: 1; right: 0; } .button span { cursor: pointer; display: inline-block; position: relative; transition: 0.5s; } .button { width: 131px; background-color: white; color: black; border: 2px solid #008CBA; font-size: large; margin-top: 8px; margin-right: 75px; } .login-form{ width: 300px; padding-top: 5px; padding-right: 5px; padding-bottom: 5px; padding-left: 5px; } input{ font-size: large; margin-top: 8px; } .register { margin-left: 25px; text-decoration: none; font-size: small; width: 80px; } .password{ margin-left: 126px; margin-top: -69px; text-decoration: none; font-size: small; } a:link { text-decoration: none; } a:visited { text-decoration: none; } a:active { text-decoration: underline; } center{ display: inline; padding-left: 10px; padding-right: 10px; } </style> </head> <body> <div class="dropdown"> <button onclick="myFunction()" class="dropbtn" > Log In </button> <div id="myDropdown" class="dropdown-content"> <form class="login-form"> <input type="text" placeholder="username"/> <input type="password" placeholder="password"/> <button class ="button">login</button> <div class = "center"> <p><a href="http://outsourceyourjobsearch.com/membership-account/membership-levels/" class="register">Register</a></p> <p><a href="http://outsourceyourjobsearch.com/wp-login.php?action=lostpassword" class="password">Forgot Password?</a></p> </div> </form> </div> </div> <script> /* When the user clicks on the button, toggle between hiding and showing the dropdown content */ function myFunction() { document.getElementById("myDropdown").classList.toggle("show"); } // Close the dropdown if the user clicks outside of it window.onclick = function(event) { if (!event.target.matches('.dropbtn')) { var dropdowns = document.getElementsByClassName("dropdown-content"); var i; for (i = 0; i < dropdowns.length; i++) { var openDropdown = dropdowns[i]; if (openDropdown.classList.contains('show')) { openDropdown.classList.remove('show'); } } } } </script> </body> </html> 
     </div> 

Вы <!DOCTYPE html> <html> <head> внутри тега <div> и не должны иметь это.

+0

ваш комментарий оставил меня более смущенным. Похоже, вы скопировали мой код и добавили строку прямо перед ней. – pgray10

+0

@ pgray10 - сделайте «Просмотр источника» в своем браузере при просмотре страницы. Вы увидите, что ваша разметка полностью перепутана *. У вас есть блуждающий/дополнительный '', который, безусловно, отбрасывает браузер, в результате чего он не отображается и ваши сценарии не работают так, как предполагалось. –

0

Я пробовал ваш код, и он отлично работает для меня.

+0

Это не дает решения и должно быть комментарием. –

Смежные вопросы