我找到了一个带有TYPO3(http://www.andreas-hoffmeyer.de/blog/content-als-lightbox.html)的模态框的完美指令。开场适用于所有类型的内容元素,但作者没有集成一个关闭按钮,并要求他提示没有成功。
我有一些Typoscript
modal = PAGE
modal {
typeNum = 123
config {
no_cache = 1
disableAllHeaderCode = 1
disablePrefixComment = 1
}
10 < styles.content.get
10 {
select {
andWhere.data = GP:cid
andWhere.intval = 1
andWhere.if.isTrue.data = GP:cid
andWhere.wrap = uid=|
}
}
}
和一些jquery
(function(window, document, $) {
"use strict"
$('.download').on('click', function(event) {
event.preventDefault();
// erstmal alle bisherigen Modalboxes entfernen
$('.download').remove();
var uri = [];
uri = $(this).attr('href').split('#');
if (uri[1]) {
var cid = uri[1].replace(/[a-z]/gi, '');
$.get(uri[0], {cid: cid, type: 123}, function(data, status) {
appendToBody(data, status);
});
return true;
}
$.get(uri[0], {type: 123}, function(data, status) {
appendToBody(data, status);
});
});
function appendToBody(data, status) {
if (status !== 'success') {
throw Error('Error getting the content');
}
$('<div>', {
id: 'modal',
css: {
(...)
}
}).html(data).appendTo('body');
}
})(window, document, jQuery);
现在我需要在模态框内部关闭一个按钮,通过单击模态框外的某个位置来关闭模态框会很棒。
我尝试了这种方式没有成功:
我在TYPO3中创建了一个新的HTML内容元素,该页面显示在模态框中并添加了
<p class="close">Close Window</p>
<script>
$( '.close' ).click(function() {
$('.download').remove();
});
</script>
答案 0 :(得分:2)
我找到了解决方案。这对我来说很好:
<p class="close">Fenster schließen</p>
<script>
(function(window, document, $) {
$( '.close' ).click(function() {
$('#modal').remove();
});
})(window, document, jQuery);
</script>