你能用JavaScript而不是Jquery创建一个剧透?

时间:2014-01-25 04:29:33

标签: javascript

我正在学习Javascript,我站在其所有客户端并且不存储像php这样的信息。我也看过扰码代码和我见过的所有使用jquery的代码。当我使用“Spoiler”这个词时,我引用你点击的东西来打开信息(通常是一个加号)然后从视图中删除隐藏的信息再次点击它(通常是一个减号)。我想知道是否可以使用Javascript创建一个剧透,而不是其他任何东西,如果它可能是一个小例子。

1 个答案:

答案 0 :(得分:0)

是的,这完全有可能。您只需要通过本机javascript访问您的事件和元素。如果你能提供一个你想要做的例子,我可以给你一些更好的示例代码来完成工作。

<head>
  <script>
    docReady = function() {
        var spoilers = document.getElementsByName('spoiler');
        for(var s = 0; s < spoilers.length; s++) {
             spoilers[s].onclick = function(e) {
                 // Prevent the default link action
                 e.preventDefault();

                         // Show the parent element's next sibling
                 var spoilerText = this.parentNode.nextSibling;
                 spoilerText.style.display = 'block';
             }
        }
   }
// Attach docReady function to DOMContentLoaded 
    // (Works in Firefox/Chrome/Safari)
document.addEventListener("DOMContentLoaded", docReady, false);
  </script>
</head>
<body>
    <div id="stories">
         <p>This is the story<a href="#" name="spoiler">Spoiler</a></p><
             p style="display:none">Spoiler Text</p>
         <p>This is the story<a href="#" name="spoiler">Spoiler</a></p><
             p style="display:none">Spoiler Text</p>
    </div>
</body>

快速建议:学习使用console.log,它将是您与本机javascript的最好朋友。

另外,如果你想知道为什么我在第二段开头括号之后打破了段落行,那么nextSibling方法就会出现问题。为简洁起见,我在示例中使用了简单的javascript方法。您可以阅读nextSibling问题here