Я хочу динамически вызывать fancybox для загрузки iframe. URL-адрес iframe будет состоять из некоторых элементов формы. Я использовал что-то вроде этого, и это работает:
<!--***************************************************************-->
<!--this allows fancybox to be called using a dynamic link-->
<div id="hidden_clicker" style="display:none">
<a class="various fancybox.iframe" id="hiddenclicker" href="http://whatever.com" >Hidden Clicker</a>
</div>
<!--***************************************************************-->
тогда скрипт:
<script type="text/javascript">
$(document).ready(function() {
$(".various").fancybox({
maxWidth : 800,
maxHeight : 600,
fitToView : false,
width : '70%',
height : '70%',
autoSize : false,
closeClick : false,
openEffect : 'elastic',
closeEffect : 'none'
});
});
function callBoxFancy(my_href) {
var j1 = document.getElementById("hiddenclicker");
j1.href = my_href;
$('#hiddenclicker').trigger('click');
}
затем загрузить iframe:
$('#addtownsubmit').click(function() {
var $url='/areastructure/addtown/';
var $get='countryid/'+ ($('#country').val()) + '/regionid/'+ ($('#region').val())+ '/provinceid/'+ ($('#province').val())+ '/originatingcontroller/account/originatingaction/editcontactdetails/'
callBoxFancy($url+$get+'iframe/1');
return false;
});
Есть ли способ улучшить этот код, чтобы мне не нужно было включать HTML-код. Конечно, jquery может создать этот скрытый div для меня?