我通常在我的页面中使用colorbox工具打开“弹出窗口”,一切都很好。 在我的新项目中情况没什么不同,因为我使用js / ajax / dom在handleRequestStateChange()函数中创建dinamically我的对象。
导入js,jquery和css for colorbox后,在我的js页面的头部写道:
$(document).ready(function () {
$(window).scroll(function () {
//oP1 = document.createTextNode(posizione_menu.offsetTop);
//divIpt.appendChild(oMtx1);
$(".divHcss").css("position", "fixed").css("top", "0px").css("z-index", "999");
});
//Examples of how to assign the Colorbox event to elements
$(".group1").colorbox({rel:'group1'});
$(".group2").colorbox({rel:'group2', transition:"fade"});
$(".group3").colorbox({rel:'group3', transition:"none", width:"75%", height:"75%"});
$(".group4").colorbox({rel:'group4', slideshow:true});
$(".ajax").colorbox();
$(".youtube").colorbox({iframe:true, innerWidth:640, innerHeight:390});
$(".vimeo").colorbox({iframe:true, innerWidth:500, innerHeight:409});
$(".iframe").colorbox({iframe:true, width:"80%", height:"80%"});
$(".inline").colorbox({inline:true, width:"50%"});
$(".callbacks").colorbox({
onOpen:function(){ alert('onOpen: colorbox is about to open'); },
onLoad:function(){ alert('onLoad: colorbox has started to load the targeted content'); },
onComplete:function(){ alert('onComplete: colorbox has displayed the loaded content'); },
onCleanup:function(){ alert('onCleanup: colorbox has begun the close process'); },
onClosed:function(){ alert('onClosed: colorbox has completely closed'); }
});
$('.non-retina').colorbox({rel:'group5', transition:'none'})
$('.retina').colorbox({rel:'group5', transition:'none', retinaImage:true, retinaUrl:true});
//Example of preserving a JavaScript event for inline calls.
$("#click").click(function(){
$('#click').css({"background-color":"#f00", "color":"#fff", "cursor":"inherit"}).text("Open this window again and this message will still be here.");
return false;
});
});
在handleRequestStateChange()之后我创建了一个元素并分配给div:
var a = createElement('a');
//a.style.display = "block";
a.setAttribute('class','iframe');
a.setAttribute('href',"php/whois.php?P1="+oStxt.value);
var divIp3 = createElement('div', 'divIp3', 'divIp3css');
var divIp31 = createElement('div', 'divIp31', 'divIp31css');
divIp3.appendChild(divIp31);
divIp3.appendChild(a);
a.appendChild(divIp31);
divIp31可以链接,但是普通浏览器标签中的href打开页面,而不使用colorbox的属性类。
有人有想法吗?
提前致谢
AM
答案 0 :(得分:1)
您需要致电:
$(a).colorbox({inline:true, width:"50%"});
将锚元素追加到div后。之前的颜色框调用仅将行为绑定到页面上已存在的元素。您需要为添加到页面的每个新元素重复此操作。
UPDATE :我没注意变量a
引用DOM节点的事实。只需将它放在jquery的$中,这样就可以使用colorbox方法。