Модальное окно после выполнения действия

Голоса: +1

Еще раз зравствуйте, такой вопрос, есть модальное окно:

<style>
#mask {
position:absolute;
left:-1px;
top:-1px;
z-index:9000;
background-color:#000;
display:none;
}
#boxes .window {
position:fixed;
display:none;
z-index:9999;
}
#boxes #dialog h4 {text-align:center;}
#boxes #dialog {
background-color: #f3f3f3;
border: 1px solid #dedede;
-webkit-border-radius: 10px;
-moz-border-radius: 10px;
-ms-border-radius: 10px;
border-radius: 10px;
box-shadow: 0px 0px 30px rgba(0,0,0,0.2);
-webkit-transition: 0.4s ease-out;
-moz-transition: 0.4s ease-out;
-ms-transition: 0.4s ease-out;
transition: 0.4s ease-out;
text-align: center;
font-size: 14px;
width:500px;
height:450px;
}
.close {margin:0 0 0 470px;}
</style>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
<script>
$(document).ready(function() {
$('a[name=modal]').click(function(e) {
e.preventDefault();
var id = $(this).attr('href');
var maskHeight = $(document).height();
var maskWidth = $(window).width();
$('#mask').css({'width':maskWidth,'height':maskHeight});
$('#mask').fadeIn(1000);
$('#mask').fadeTo("slow",0.8);
var winH = $(window).height();
var winW = $(window).width(); $(id).css('top', winH/2-$(id).height()/2);
$(id).css('left', winW/2-$(id).width()/2);
$(id).fadeIn(2000); });
$('.window .close').click(function (e) {
e.preventDefault();
$('#mask, .window').hide();
});
$('#mask').click(function () { $(this).hide();
$('.window').hide();
});
});
</script>
<div id="boxes">
<div id="dialog" class="window">
<a class="close" href="#"><img src="//www.proaqua31.ru/close.png"></a>
<h4>Название модального окна</h4>
Ваше содержимое окна
</div>
<div id="mask"></div>
</div>
<a href="#dialog" name="modal">Открыть модальное окно</a>

Можно ли сделать так, что бы после выполенния условия в условном операторе, окно появлялось. Подскажите как этол сделать?

Адрес сайта http://igromain.ru/
Закрыто с пометкой: Вопрос решен!
| Автор: | Категория: JavaScript
Закрыт | | Автор: Yuri_Geruk

Ответов: 1

голоса: 0

Прежде всего, удалите этот дубль системной библиотеки:

<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>

далее, стили установить в таблицу стилей CSS, а не ставить модальное окно вместе с всем кодом в одном месте.

После на нужной странице завернуть код:

<script>
$(document).ready(function() {
$('a[name=modal]').click(function(e) {
e.preventDefault();
var id = $(this).attr('href');
var maskHeight = $(document).height();
var maskWidth = $(window).width();
$('#mask').css({'width':maskWidth,'height':maskHeight});
$('#mask').fadeIn(1000);
$('#mask').fadeTo("slow",0.8);
var winH = $(window).height();
var winW = $(window).width(); $(id).css('top', winH/2-$(id).height()/2);
$(id).css('left', winW/2-$(id).width()/2);
$(id).fadeIn(2000); });
$('.window .close').click(function (e) {
e.preventDefault();
$('#mask, .window').hide();
});
$('#mask').click(function () { $(this).hide();
$('.window').hide();
});
});
</script>
<div id="boxes">
<div id="dialog" class="window">
<a class="close" href="#"><img src="//www.proaqua31.ru/close.png"></a>
<h4>Название модального окна</h4>
Ваше содержимое окна
</div>
<div id="mask"></div>
</div>
<a href="#dialog" name="modal">Открыть модальное окно</a>

в условие вида:

<?if($URI_ID$='page1')?><?endif?>

конечно если это страницы с модуля редактор страниц, если страницы с других модулей, то устанавливать условие в шаблоне на странице комментариев модуля с условием вида:

<?if($ID$=='45')?>
<script>
$(document).ready(function() {
$('a[name=modal]').click(function(e) {
e.preventDefault();
var id = $(this).attr('href');
var maskHeight = $(document).height();
var maskWidth = $(window).width();
$('#mask').css({'width':maskWidth,'height':maskHeight});
$('#mask').fadeIn(1000);
$('#mask').fadeTo("slow",0.8);
var winH = $(window).height();
var winW = $(window).width(); $(id).css('top', winH/2-$(id).height()/2);
$(id).css('left', winW/2-$(id).width()/2);
$(id).fadeIn(2000); });
$('.window .close').click(function (e) {
e.preventDefault();
$('#mask, .window').hide();
});
$('#mask').click(function () { $(this).hide();
$('.window').hide();
});
});
</script>
<div id="boxes">
<div id="dialog" class="window">
<a class="close" href="#"><img src="//www.proaqua31.ru/close.png"></a>
<h4>Название модального окна</h4>
Ваше содержимое окна
</div>
<div id="mask"></div>
</div>

<a onclick="setTimeout(func, 5000)" href="#dialog" name="modal">Открыть модальное окно</a>

<?endif?>

<a onclick="setTimeout(func, 5000)" href="#dialog" name="modal">Открыть модальное окно</a>

где 45 это айди материала где должно сработать условие, узнать можно в управлении материалами модуля напротив каждого из материалов увидите номер айди.

Далее идет функция онклик  с тайм-аутом в 5 сек после чего произойдет автоматический клик по ссылке, тайм-аут можете изменить под себя как вам нужно, думаю принцип понятен как это можно реализовать в Юкоз.

| Автор:
Спасибо громное!
...