Передача параметра в модальное окно
Приветствую!
Есть такой код модального диалога:
<script>
$(document).ready(function () {
$('a.btn-ok, #dialog-overlay, #dialog-btn').click(function () {
$('#dialog-overlay, #dialog-box').hide();
return false;
});
$(window).resize(function () {
if (!$('#dialog-box').is(':hidden')) popup();
});
});
function popup(message) {
var maskHeight = $(document).height();
var maskWidth = $(window).width();
var dialogTop = (maskHeight/3) - ($('#dialog-box').height());
var dialogLeft = (maskWidth/2) - ($('#dialog-box').width()/2);
$('#dialog-overlay').css({height:maskHeight, width:maskWidth}).show();
$('#dialog-box').css({top:dialogTop, left:dialogLeft}).show();
$('#dialog-message').html(message);
}
</script>
<div id="dialog-box">
<div class="dialog-content">
<div id="dialog-message" align="center">
<img src="">
</div>
</div>
</div>
<a href="#dialog-box" rel="test.gif" onclick="javascript:popup();">test.gif</a>
Подскажите как передать название изображения (параметр) в диалоговое окно? |
onclick="popup('<img src=\'test.gif\'>');"
|
Цитата:
|
Щито?
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.js"></script>
<script>
$(document).ready(function () {
$('a.btn-ok, #dialog-overlay, #dialog-btn').click(function () {
$('#dialog-overlay, #dialog-box').hide();
return false;
});
$(window).resize(function () {
if (!$('#dialog-box').is(':hidden')) popup();
});
});
function popup(message) {
var maskHeight = $(document).height();
var maskWidth = $(window).width();
var dialogTop = (maskHeight/3) - ($('#dialog-box').height());
var dialogLeft = (maskWidth/2) - ($('#dialog-box').width()/2);
$('#dialog-overlay').css({height:maskHeight, width:maskWidth}).show();
$('#dialog-box').css({top:dialogTop, left:dialogLeft}).show();
$('#dialog-message').html(message);
}
</script>
<div id="dialog-box">
<div class="dialog-content">
<div id="dialog-message" align="center">
<img src="">
</div>
</div>
</div>
<a href="#dialog-box" rel="test.gif" onclick="popup('<img src=\'http://javascript.ru/forum/images/ca_serenity/misc/logo.gif\'>');">test.gif</a>
|
Aetae,
Отлично работает, только вот еще проблема, при добавлении display:none не срабатывает, а именно:
<style>
#dialog-box {
-webkit-box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.5);
-moz-box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.5);
-moz-border-radius: 5px;
-webkit-border-radius: 5px;
background: #eee;
width: 428px;
position: absolute;
z-index: 5000;
display: none;
}
</style>
А без этого окно остается открытым... |
Цитата:
|
Это следует из вашего кода.
|
Цитата:
|
Есть. Написать именно то, что вам нужно. Мне это делать неохота.
|
Может кто нибудь знает как провести выборку из адресной строки?
|
Вот решил попробовать сделать так но безрезультатно, что не так в этой конструкции?
<script src="//code.internetrange.com/jquery-1.8.3.js" type="text/javascript"></script>
<script type="text/javascript" language="javascript">
$(document).ready(function () {
id = $(this.element).attr('rel');
$('a.btn-ok, #dialog-overlay, #dialog-btn').click(function () {
$('#dialog-overlay, #dialog-box').hide();
return false;
});
$(window).resize(function () {
if (!$('#dialog-box').is(':hidden')) popup();
});
});
function popup(message) {
var maskHeight = $(document).height();
var maskWidth = $(window).width();
var dialogTop = (maskHeight/3) - ($('#dialog-box').height());
var dialogLeft = (maskWidth/2) - ($('#dialog-box').width()/2);
$('#dialog-overlay').css({height:maskHeight, width:maskWidth}).show();
$('#dialog-box').css({top:dialogTop, left:dialogLeft}).show();
$('#dialog-message').html(message);
}
</script>
<div id="dialog-box" style="display:none;">
<a href="#" id="dialog-btn" title="Закрыть окно">x</a>
<div class="dialog-content" style="padding: 20px;">
<div id="dialog-message" align="center">
<script>document.write('<img src='id'>')</script>
</div>
</div>
</div>
<a href="#" rel="98.png" onclick="popup()">98.png</a>
|
Так ничего дельного и не нашел
Пробовал делать так
function getid() {
var image = $("#image").attr('rel');
$.post('getresourseid.php', {
image: image
},
function (data) {
$("#adimage").html(data);
}
);
}
<div id="dialog-box"> <a href="#" id="dialog-btn" title="Закрыть окно">x</a> <div class="dialog-content" style="padding: 20px;"> <div id="dialog-message" align="center"> <div id="adimage"></div> </div> </div> </div> <a href="#" rel="1.png" id="image" onclick="popup();getid();">1</a> <a href="#" rel="2.png" id="image" onclick="popup();getid();">2</a> В этом случае если кликаю по ссылке все отправляется, но если потом кликнуть по второй, то отправляться будет предыдущая картинка.. Потом так:
function getid() {
var image = $("#image").attr('rel');
document.getElementById("adimage").innerHTML = '<img src=\'+image+\'>';
var elements = document.getElementById("adimage").getElementsByTagName("script");
for (var i=0,len=elements.length;i<len;i++) { eval.call(window,elements[i].innerHTML); }
}
Здесь просто вместо картинки отображается надпись "image" .. |
| Часовой пояс GMT +3, время: 14:45. |