2016-01-09 3 views
4

Я завернул свой #welcome в течение одной кнопки, так что это произвело бы эффект при нажатии. Кажется, что кнопка ничего не делает, и начальная функциональность (: hover) моего элемента по какой-то причине была отключена. Как мне это сделать?Как запретить мой тег <button> отключить мой: hover?

HTML следуют CSS с последующим JavaScript (все три находятся в отдельных файлах):

<!DOCTYPE html> 
<html lang="en-US"> 
    <head> 
     <meta name="keywords" content="Jerrell, Cockerham, Blogs, Podep, Tramx"> 
     <meta name="description" content="Jerrell Cockerham's website for his organized thoughts and feelings."> 
     <meta name="author" content="Jerrell Cockerham"> 
     <meta charset="UTF-8"> 
     <meta name="viewport" content="width=device-width, initial-scale=1.0"> 
     <title>Jerrell Cockerham</title>  
    </head> 
    <body style="background-color: black;"> 
     <div class="top-bar"> 
      <div id="strip"> 
       <span style="color: #808080">_</span> 
      </div> 
      <a href="D:\Coding projects\My personal website\jerrell.html"> 
       <h1 id="name"> 
        <span id="jerrell">Jerrell</span> 
        <span id="cockerham">Cockerham</span> 
       </h1> 
      </a> 
      <h4 id="options"> 
       <span id="splits">|</span> 
       <a href="#" style="text-decoration: none"><span id="go">About</span></a> 
       <span id="splits">|</span> 
       <a href="#" style="text-decoration: none"><span id="go-two">Search</span></a> 
       <span id="splits">|</span> 
      </h4> 
     </div> 
     <div class="welcome"> 
      <button onclick="openUp()"><p id="welcome">Click to Begin</p></button> 
     </div> 
     <div class="mncourse"> 
      <table id="tissue"> 
       <tr id="podep"> 
        <td id="podepdat"> 
          <p id="high1"><a href="D:\Coding projects\My personal website\podep.html" style="text-decoration: none; color: #66ffff;">Positively Dependent</a></p> 
          <p id="low1"><a href="D:\Coding projects\My personal website\podep.html" style="text-decoration: none; color: white;">Attempts to poetically express my feelings.</a></p> 
        </td> 
        <td id="tramxdat"> 
         <p id="high2"><a href="D:\Coding projects\My personal website\tramx.html" style="text-decoration: none; color: #66ffff;">Trail Mix</a></p> 
         <p id="low2"><a href="D:\Coding projects\My personal website\tramx.html" style="text-decoration: none; color: white;">Everything I find interesting in mathematics.</a></p> 
        </td> 
       </tr> 
      </table> 
     </div> 
     <b><p class="cred">Photo taken with iPhone</p></b> 
    </body> 
    <link href="jerrell.css" rel="stylesheet" type="text/css" />  
    <script src="jerrell.js"></script> 
</html> 


/* #66ffff (blu), white (wht), #535353 (gry) */ 



body { 
    background: url(intric.jpg); 
    background-repeat: no-repeat; 
    background-size: cover; 
    height: 1200px; 
} 

#name { 
    font-family: Trebuchet MS; 
    position: fixed; 
    top: -20px; 
    z-index: 1; 
} 

#jerrell { 
    color: #66ffff; 
} 

#cockerham { 
    color: white; 
} 

#strip { 
    position: fixed; 
    left: -50px; 
    top: -10px; 
    background-color: #535353; 
    width: 2000px; 
    height: 50px; 
    opacity: .9; 
} 

#options { 
    font-family: Trebuchet MS; 
    position: fixed; 
    right: 5px; 
    top: -11px; 
    z-index: 1; 
} 

#splits { 
    color: white; 
} 

#go { 
    color: #66ffff; 
} 

#go-two { 
    color: #66ffff; 
} 

#go:hover { 
    color: white; 
} 

#go-two:hover { 
    color: white; 
} 

.welcome { 

} 

#welcome { 
    position: fixed; 
    font-family: Trebuchet MS; 
    width: 400px; 
    left: 0; 
    right: 0; 
    margin: 0 auto; 
    border: 0px; 
    text-align: center; 
    top: 42%; 
    color: white; 
    font-size: 50px; 
    z-index: 4; 
} 

#welcome:hover { 
    opacity: .7; 
} 

.mncourse { 
    pointer-events: none; 
    position: fixed; 
    text-align: center; 
    left: 0; 
    right: 0; 
    top: 42%; 
} 

#tissue { 
    margin-left: auto; 
    margin-right: auto; 
    border-spacing: 20px; 
} 

#high1 { 
    font-family: Trebuchet MS; 
    font-size: 32px; 
} 

#low1 { 
    font-family: Trebuchet MS; 
    font-size: 20px; 
} 

#high2 { 
    font-family: Trebuchet MS; 
    font-size: 32px; 
    color: #66ffff; 
} 

#low2 { 
    font-family: Trebuchet MS; 
    color: white; 
    font-size: 20px; 
} 

td { 
    padding: 15px; 
} 

#podepdat { 

} 

#tramxdat { 

} 

.cred { 
    position: relative; 
    height: 25px; 
    width: 250px; 
    top: 1180px; 
    font-family: Trebuchet MS; 
    color: white; 
} 


function openUp() { 
    document.getElementById("welcome").style.pointer-events = "auto"; 
    document.getElementById("strip").style.color = "red"; 
} 

ответ

1

Во-первых, вам нужно расположить button элемент вместо p, содержащегося в нем. Теперь у вас есть это сверху слева. Итак, вы создаете правило css для элемента .welcome button и переместите все правила позиционирования от p к нему.

Затем вы меняете :hover правило на .welcome button.

И, наконец, в функции JavaScript, к вам нужно изменить:

document.getElementById("welcome").style.pointer-events = "auto"; 

к:

document.getElementById("welcome").style.pointerEvents = "auto"; 

или:

document.getElementById("welcome").style.setProperty("pointer-events","auto"); 

иначе, что дефис будет рассматриваться как минус знак.

Вот пример (вам все еще нужно расположить эти нижние дивы, я не знаю, как вы хотите, чтобы посмотреть):

https://jsfiddle.net/h2wchead/1/

1

Я не знаю, как ответить на этот вопрос , но прежде всего вам нужно установить rootdirectory. Корневой каталог может быть создан с помощью XAMPP или WAMP или MAMP или даже NANP. Я предпочитаю XAMPP. Все эти программы являются локальным веб-сайтом (для тестирования или для удовольствия). Также его не умно, чтобы разводить пробелы в ссылке, подобной этой <a href=" <!-- HERE Spaces . . . . . --> ">. Просто не делай этого. Вместо использования разнесенного использования %20, это путь лучше!

И к вашей проблеме, я думаю, что знаю способ ее решения, причина этого может заключаться в том, что вы на самом деле никогда не устанавливали сценарий на openUp(). Поэтому, если вы создадите фактическую функцию JS, она может работать лучше для вас. Если вы не знаете, как сделать функцию, просто взгляните на мой скрипт в самом низу этой публикации.

Теперь давайте заглянем в ваш CSS этой кнопки, так как я верю в это. Когда человек нажмите на приветствия кнопку, затем DIV появится, хорошо сделать так, что вам нужно 2 новый CLASSES в CSS так что теперь посмотрим на этот сценарий, чтобы узнать, как вы сделаете правильный стиль для этого:

<html> 
    <head> 
     <title>Your title</title> 
     <style> 
      .hidden { 
       display:none; 
      }.visible { 
       display:block; 
      } 
      .hovering {color:white;background:black;} 
      .hovering:hover {color:Black;Background:white;} 
     </style> 
    </head> 

    <body> 
     <button id="YourButtonID" onclick="show()" class="hovering">Show welcome DIV</button> 
     <div id="HiddenArea" class="hidden"> 
      <p>This is the hidden area that will be appearing onclick above and close if you click iy again.</p> 
     </div> 

     <!-- This is where it begins to be tricky --> 

     <script> 

      function onclick() { 
       document.getElementById('HiddenArea').setAttribute('class', 'visible'); 
       document.getElementById('YourButtonID').setAttribute('onclick', 'hide()'); 
       document.getElementById('YourButtonID').innerHTML == 'Hide'; 
      } 
      function hide() { 
       document.getElementById('HiddenArea').setAttribute('class', 'hidden'); 
       document.getElementById('YourButtonID').setAttribute('onclick', 'show()'); 
       document.getElementById('YourButtonID').innerHTML == 'Show'; 
      } 


     </script> 

    </body> 
</html> 

Так что же это делает?

Это скрипты загружает функцию, поэтому при нажатии на кнопку она будет меняться атрибут для hide() также будет отображать скрытые DIV и

подходящих примеров
0
  1. Удалите p тег из кнопки тега.

    <button onclick="openUp()" id="welcome">Click to Begin</button> 
    
  2. Я не могу добавить комментарий.По-видимому, события-указатели работают по-разному с прослушивателями событий. Надеюсь, кто-то еще уточнит. Это сработало для меня.
    Изменить строку в JS,

    document.getElementById("welcome").className = "pointer-clicks"; 
    
  3. Затем добавьте CSS,

    .pointer-clicks{ 
        pointer-events: auto; 
    } 
    

Ссылки:
https://css-tricks.com/almanac/properties/p/pointer-events/
https://davidwalsh.name/pointer-events

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