Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/385.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_Css_File_Dynamic_Modal Dialog - Fatal编程技术网

Javascript 莫代尔大部分人会立即辞职

Javascript 莫代尔大部分人会立即辞职,javascript,css,file,dynamic,modal-dialog,Javascript,Css,File,Dynamic,Modal Dialog,我试图在代码中包含一个模态。单击按钮/href时,模式中应显示不同的文件。我只是从中获取了代码 现在,在加载动画后(或几毫秒后),模态刚刚关闭。奇怪的是,当你按下按钮几次,它偶尔会工作,文件就会显示出来 这是我的代码(相关部分): //获取模式 var modal=document.getElementById('myModal'); //获取打开模式对话框的按钮 var btn=document.getElementById(“myBtn”); //获取关闭模态的元素 var span=do

我试图在代码中包含一个模态。单击按钮/href时,模式中应显示不同的文件。我只是从中获取了代码

现在,在加载动画后(或几毫秒后),模态刚刚关闭。奇怪的是,当你按下按钮几次,它偶尔会工作,文件就会显示出来

这是我的代码(相关部分):

//获取模式
var modal=document.getElementById('myModal');
//获取打开模式对话框的按钮
var btn=document.getElementById(“myBtn”);
//获取关闭模态的元素
var span=document.getElementsByClassName(“关闭”)[0];
//当用户单击该按钮时,打开模式对话框
btn.onclick=函数(){
modal.style.display=“flex”;
};
//当用户单击(x)时,关闭模式对话框
span.onclick=函数(){
modal.style.display=“无”;
};
//当用户单击模式之外的任何位置时,将其关闭
window.onclick=函数(事件){
如果(event.target==模态){
modal.style.display=“无”;
}
};
/*模式(背景)*/
.莫代尔{
显示:无;/*默认情况下隐藏*/
位置:固定;/*保持原位*/
z指数:1;/*位于顶部*/
左:0;
排名:0;
宽度:100%;/*全宽*/
高度:100%;/*全高*/
溢出:自动;/*根据需要启用滚动*/
背景色:rgb(0,0,0);/*回退色*/
背景色:rgba(0,0,0,0.4);/*黑色w/不透明度*/
}
/*模态内容/框*/
.模态内容{
位置:相对位置;
背景色:#fefe;
保证金:自动;
填充:0;
边框:1px实心#888;
宽度:80%;
盒影:0 4px 8px 0 rgba(0,0,0,0.2),0 6px 20px 0 rgba(0,0,0,0.19);
}
/*模态头*/
.模态标题{
填充:2x16px;
背景色:#5cb85c;
颜色:白色;
}
/*模态页脚*/
.模态页脚{
填充:2x16px;
背景色:#5cb85c;
颜色:白色;
}
/*关闭按钮*/
.结束{
颜色:#aaa;
浮动:对;
字号:28px;
字体大小:粗体;
}
.关闭:悬停,
.结束:聚焦{
颜色:黑色;
文字装饰:无;
光标:指针;
}

&时代;
模态头
模态体
模态页脚

在我看来,您的问题似乎是事件的传播。每当您单击
btn
span
时,模式将不会显示为finally
窗口。一旦单击,模式将关闭。因此,解决方案是在
btn/span
单击事件中添加
event.stopPropagation()

btn.onclick=函数(事件){
event.stopPropagation();//停止要冒泡的事件
modal.style.display=“flex”;
};
span.onclick=函数(事件){
event.stopPropagation();//停止要冒泡的事件
modal.style.display=“无”;
};
window.onclick=函数(事件){
如果(event.target==模态){
modal.style.display=“无”;
}
};
//获取模式
var modal=document.getElementById('myModal');
//获取打开模式对话框的按钮
var btn=document.getElementById(“myBtn”);
//获取关闭模态的元素
var span=document.getElementsByClassName(“关闭”)[0];
//当用户单击该按钮时,打开模式对话框
btn.onclick=函数(){
modal.style.display=“块”;
$('a')。单击(函数(e){e.preventDefault();/*您的代码在这里;*/return false;});
};
//当用户单击(x)时,关闭模式对话框
span.onclick=函数(){
modal.style.display=“无”;
};
//当用户单击模式之外的任何位置时,将其关闭
window.onclick=函数(事件){
如果(event.target==模态){
modal.style.display=“无”;
}
};

只需在btn中编辑。单击功能我已经为您创建了示例代码,请将链接放在“您的代码”中。

首先感谢您的努力。在firefox中,你的代码似乎什么都没有发生,而在chrome中,同样的老问题仍然存在。首先感谢你的努力。我必须在这里输入什么代码(什么部分)?对不起,我从来没有“工作”过JS,请放下你的链接,这里有一些关于这个问题的记录可能会有帮助(我知道它看起来很糟糕),所以我发现如果你按按钮3次,我会以某种方式工作。。。