Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/89.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript";“关闭按钮”;不起作用_Javascript_Jquery_Popup - Fatal编程技术网

Javascript";“关闭按钮”;不起作用

Javascript";“关闭按钮”;不起作用,javascript,jquery,popup,Javascript,Jquery,Popup,今天我尝试用javaScript制作最简单的关闭按钮。不幸的是,它不起作用。这就是它的样子: <div id="popup_bg"> <div id="popup_window"> <span id="popup_close"> </span> </div> </div> js代码是: <script type=”text/javascript”> $("#popup_close").cli

今天我尝试用javaScript制作最简单的关闭按钮。不幸的是,它不起作用。这就是它的样子:

<div id="popup_bg">
<div id="popup_window">
<span id="popup_close">
</span>
</div>
</div>

js代码是:

<script type=”text/javascript”>
        $("#popup_close").click(function() {
        $("#popup_bg").fadeOut();
        event.stopPropagation();
        });
</script>

$(“#弹出\关闭”)。单击(函数(){
$(“#popup_bg”).fadeOut();
event.stopPropagation();
});
我还想将其应用于任何一个“弹出窗口”,因此我可能会将其更改为$(this.parent().parent().fadeOut();-有可能吗

谢谢大家的帮助!:)

@编辑

由于您的解决方案都不起作用,我将按字面意思放置我的代码:D也许您会发现一些错误导致它出错:

<?php if(isset(errors['user'])) : ?>    
<script type="text/javascript">
    $(function()
    {
        $("#popup_close").on('click', function() {
        $("#popup_background").fadeOut();
        //event.stopPropagation();
        });
    });
</script>
<div id="popup_background" >
    <div class="popup_window">
        <span class="title">
        error
        </span>
        <span class="message"><?php echo errors['user']; ?>
        </span>
        <span id="popup_close" class="button">OK</span>
    </div>
</div>
<?php endif; ?>

$(函数()
{
$(“#弹出\关闭”)。在('单击',函数()上{
$(“#弹出#U背景”).fadeOut();
//event.stopPropagation();
});
});
错误
好啊

我希望这将帮助您发现任何错误。它显示正确,我点击我的“OK”栏,什么也没发生:p我讨厌js:D

ID必须唯一,你应该使用类来代替:

<div class="popup_bg">
   <div class="popup_window">
      <span class="popup_close"></span>
   </div>
</div>

请注意,在代码
事件
未定义的
时,应将事件对象传递给处理程序。

ID必须唯一,应改用类:

<div class="popup_bg">
   <div class="popup_window">
      <span class="popup_close"></span>
   </div>
</div>

请注意,在代码
中,事件
未定义的
时,应将事件对象传递给处理程序。

添加
文档。准备好
和/或使用
.on
函数

<script type=”text/javascript”>
    $(function(){
        $("#popup_close").on('click', function() {
            $("#popup_bg").fadeOut();
            event.stopPropagation();
        });
    });
</script>

$(函数(){
$(“#弹出\关闭”)。在('单击',函数()上{
$(“#popup_bg”).fadeOut();
event.stopPropagation();
});
});

此外,ID可能不会在文档中重复,请使用其他选择器,如class

添加
document.ready
和/或使用
.on
功能

<script type=”text/javascript”>
    $(function(){
        $("#popup_close").on('click', function() {
            $("#popup_bg").fadeOut();
            event.stopPropagation();
        });
    });
</script>

$(函数(){
$(“#弹出\关闭”)。在('单击',函数()上{
$(“#popup_bg”).fadeOut();
event.stopPropagation();
});
});

此外,ID可能不会在文档中重复,如果有多个弹出窗口,请使用其他选择器,如类,以更好地使用类而不是ID

示例。

$(function()
{
    $(".popup_close").on('click',(function()
    {
        $(this).parents("div.popup_bg").fadeOut();
    });
});
html

<div class = "popup_bg">
    <div class = "popup_window">
        <span class = "popup_close"></span>
    </div>
</div>

如果有多个弹出窗口,最好使用class而不是id

示例。

$(function()
{
    $(".popup_close").on('click',(function()
    {
        $(this).parents("div.popup_bg").fadeOut();
    });
});
html

<div class = "popup_bg">
    <div class = "popup_window">
        <span class = "popup_close"></span>
    </div>
</div>

您的跨度或设置的高度和宽度中需要一些内容。然后你可以点击它,它就会工作了。 避免使用
parent()。

正如其他人所说,如果您打算重用代码(阅读CSS教程),请使用jquery文档ready(阅读教程)并使用类而不是ID。

您需要在span或set height和with中包含一些内容。然后你可以点击它,它就会工作了。 避免使用
parent()。

正如其他人所说,如果您打算重用代码(阅读CSS教程),请使用jquery文档ready(阅读教程)并使用类而不是ID。

我看到了您的代码,代码的jquery部分正在工作。。 检查这里:Jsfiddle->

您应该像这样重写您的条件If语句

 <? ini_set('error_reporting', E_ALL); ?>

 <script type="text/javascript">
  $(function()
  {
    $("#popup_close").on('click', function() {
    $("#popup_background").fadeOut();
    //event.stopPropagation();
    });
   });
  </script>

 <div id="popup_background" >
  <div class="popup_window">
    <span class="title">
    error
    </span>
    <span class="message">

    <?php 
     if(isset(errors['user'])){      
      echo errors['user']; 
      }
    ?>
     </span>
    <span id="popup_close" class="button">OK</span>
  </div>
</div>

$(函数()
{
$(“#弹出\关闭”)。在('单击',函数()上{
$(“#弹出#U背景”).fadeOut();
//event.stopPropagation();
});
});
错误
好啊
在顶部设置错误报告

请参阅此处的更多信息:


也许这会有所帮助,但坦率地说,我从未见过这样的错误处理:错误['user']任何地方。。为了编写更好的代码,您应该看到错误处理;)

我看到了您的代码,代码中的jquery部分正在工作。。 检查这里:Jsfiddle->

您应该像这样重写您的条件If语句

 <? ini_set('error_reporting', E_ALL); ?>

 <script type="text/javascript">
  $(function()
  {
    $("#popup_close").on('click', function() {
    $("#popup_background").fadeOut();
    //event.stopPropagation();
    });
   });
  </script>

 <div id="popup_background" >
  <div class="popup_window">
    <span class="title">
    error
    </span>
    <span class="message">

    <?php 
     if(isset(errors['user'])){      
      echo errors['user']; 
      }
    ?>
     </span>
    <span id="popup_close" class="button">OK</span>
  </div>
</div>

$(函数()
{
$(“#弹出\关闭”)。在('单击',函数()上{
$(“#弹出#U背景”).fadeOut();
//event.stopPropagation();
});
});
错误
好啊
在顶部设置错误报告

请参阅此处的更多信息:



也许这会有所帮助,但坦率地说,我从未见过这样的错误处理:错误['user']任何地方。。为了编写更好的代码,您应该看到错误处理;)

是的,但是我的div结构是静态的-它总是一样的:)并且它有内容,我只是在这里展示了结构;)我理解,但也许有一天你会改变它,或者其他人会改变,然后如果你忘记了父选择器,你的脚本就会崩溃。我称之为脆弱的代码。我会记住这一点,并使用类(我本打算在我让它工作后再做)。是的,但我的div结构是静态的-它总是一样的:)并且它有内容,我只是在这里展示了结构;)我理解,但也许有一天你会改变它,或者其他人会改变,然后如果你忘记了父选择器,你的脚本就会崩溃。我称之为脆弱的代码。我会记住这一点,并使用类(我本打算在我让它工作后再做)。我的ID是唯一的,我确实写得很糟糕tho:P-我在不同的网站上有不同的弹出窗口;)它们也被放在条件语句中,不会同时出现(也不会被解析)。@user1515145好的,我的意思是,如果有多个元素具有相同的ID,jQuery只会选择具有该特定ID的第一个元素,重新分级您的问题,你可以使用
最近的
方法,而不是使用几个
家长
方法。仍然不起作用,我在原始问题中添加了我的代码,可能有一个愚蠢的错误我看不出来。我的ID是唯一的,我写得很糟糕tho:P-我在不同的网站上有不同的弹出窗口;)它们也放在条件语句中,不会同时出现(也不会被解析)。@user1515145好的,我的意思是如果