[英]Modal doesn't work
我使用jQuery制作了一个模式,但它似乎无法正常工作。 我正在使用javascript函数调用图像,并且模态位于我的window.onload图像加载页面中。 我先加载图像,但只有将imgs直接放在HTML中并且从window.onload中获取其他所有内容时,模态模式才有效。 这就是我叫所有img的方式:
function maisGaleria(n){
var galeria = new Array();
var img = document.querySelector("#gallery");
var pic = 0;
if(n == 1){
pic = 4;
}else if(n == 2){
pic = 7;
}else{
pic = 4;
}
img.innerHTML = "<div class='row'>";
img.innerHTML += "<div class='six columns'>";
img.innerHTML += "<h4>Galeria "+n+"</h4>";
for(var i = 0; i < pic; i++){
galeria[i] = "foto"+n+"_"+(i+1)+".jpg";
}
for(var i = 0; i < galeria.length; i++){
img.innerHTML += "<img src='img/"+galeria[i]+"' class='imgs-modal'>";
}
img.innerHTML += "</div>";
img.innerHTML += "</div>";
}
和使用模态的window.onload:
window.onload = function(){
var rdSocial = document.querySelector("#social");
var teste = document.querySelector("#teste");
var fb = '<img src="img/fb.png" value="1" class="img" onclick="redireciona(this);">';
var twt = '<img src="img/twitter.png" value="2" class="img" onclick="redireciona(this);">';
var insta = '<img src="img/insta.png" value="3" class="img" onclick="redireciona(this);">';
rdSocial.innerHTML += fb;
rdSocial.innerHTML += twt;
rdSocial.innerHTML += insta;
var x = location.search.split("?gal=")[1];
y = document.querySelector("#pics");
//console.log(x);
y.onload = maisGaleria(x);
//the modal starts here
$('.imgs-modal').on('click', function(){
var obj = $(this).clone();
console.log(obj);
$("#box_modal").html(obj);
$("#modal").fadeIn(1000);
});
$(".fechar").on('click', function(){
$("#modal").fadeOut(1000);
});
}
@anuseranother您的代码中几乎没有错误。
在window.onload中调用maisGaleria方法之前,必须声明/定义它。
根据您的jsfiddle,它会抛出未定义maisGaleria的错误。 因此,请在使用前定义maisGaleria。
解决此错误后,另一个错误是“无法将属性'onload'设置为null”。 dom中没有#pics元素(y = document.querySelector(“#pics”)),您正在引用它并向其添加onload方法。 请更新这两个,并让我们确切地知道您如何需要一个带有图像的模态,无论是互联网上的任何示例。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.