Javascript";“关闭按钮”;不起作用
今天我尝试用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
<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:DID必须唯一,你应该使用类来代替:
<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好的,我的意思是如果