如何将fancybox默认居中对齐时的位置向下偏移100px。
我相信没有相关的API设置。请问有谁可以帮我在实际脚本中实现这个功能呢?
我成功实现的解决方案是将包装器样式设置为:
#fancybox-wrap {
position: absolute;
top: 100px !important;
}
希望能对你有所帮助!
$.fancybox({
'width' : 620,
'height' : 490,
'speedIn' :600,
'speedOut' :200,
'onComplete': function() {
$("#fancybox-wrap").css({'top':'20px', 'bottom':'auto'});
}
});
topRatio : 0
属性,这个属性将fancyBox移动到顶部,然后我使用了jQuery().css()
将它放在我想要的位置。例如:$("#myfancy").fancybox({
wrapCSS : 'fancybox-custom',
maxWidth : 500,
maxHeight : 360,
fitToView : false,
width : '85%',
height : '95%',
autoSize : false,
openEffect : 'fade',
openSpeed : 'slow',
closeEffect : 'fade',
modal : true,
closeSpeed : 'slow',
topRatio : 0,
helpers : {
overlay : {
css : {
'background-color' : '#fff'
}
}
}
}).trigger('click');
jQuery('.fancybox-wrap').css('margin-top', '120px');
滚动条位置。
$.fancybox({
'width' : 620,
'height' : 490,
'speedIn' :600,
'speedOut' :200,
'onComplete': function() {
$(document).scrollTop(0);
$("#fancybox-wrap").css({'top':'20px', 'bottom':'auto'});
}
});
<link rel="stylesheet" type="text/css" href="../css/fancybox/jquery.fancybox-1.3.4.css" media="screen" >
<style type="text/css">div#fancybox-wrap {top:100px !important;}</style>
Source
$('.fancybox').fancybox({
topRatio: 0,
afterShow: function(){
$(".fancybox-wrap").css({"top":0, "margin":"100px 0 0"});
}
});
$(“.fancybox-wrap”).css({“top”:“100px”});
- AJ.我不知道你使用的fancybox版本是否为2.xxx,但如果是的话,你可以像这样设置默认边距:
$("#myfancy").fancybox({
margin : [100, 0, 20, 0],
...
margin 属性设置包装器的位置(以像素为单位),数组中的第一个数字是 TOP。
我稍微调整了上面的代码。现在它对我来说运行良好。
<script type="text/javascript">
$(document).ready(function() {
$('a.fancybox').each(function(){
var fWidth = parseInt($(this).attr('href').match(/width=[0-9]+/i)[0].replace('width=',''));
var fHeight = parseInt($(this).attr('href').match(/height=[0-9]+/i)[0].replace('height=',''));
var posTop = parseInt($(this).attr('href').match(/top=[0-9]+/i)[0].replace('top=',''));
var posLeft = parseInt($(this).attr('href').match(/left=[0-9]+/i)[0].replace('left=',''));
var marLeft = parseInt($(this).attr('href').match(/marleft=[0-9]+/i)[0].replace('marleft=',''));
$(this).fancybox({'type':'iframe','transitionIn':'elastic','transitionOut':'elastic','width':fWidth,'height':fHeight,onStart: function () {
//create a style that will position the fancy box relative to the element that clicked it.
var leftT=posLeft;
var topT=posTop;
var style = document.createElement('style');
style.type = 'text/css';
style.innerHTML = '.shekhar{ top: ' + topT + 'px !important; left: ' + leftT + '% !important; margin-left: -' + marLeft + 'px !important; }';
document.getElementsByTagName('head')[0].appendChild(style);
$('#fancybox-wrap').addClass("shekhar");
}
});
});
});
</script>
HTML在这里:
<ul>
<li><a class="fancybox" href="http://iacampaigns.co.in/fiama/WAP/index.html?iframe&width=100&height=100&top=100&left=50&marleft=200">Iframe</a></li>
<li><a class="fancybox" href="http://iacampaigns.co.in/fiama/WAP/index.html?iframe&width=200&height=200&top=100&left=50&marleft=100">Iframe</a></li>
</ul>
$('.fancybox_success').fancybox({
afterShow: function () {
if ($portWidth <= $mobileBreakpoint) {
$('html,body').animate({ scrollTop: 0 }, 'slow');
}
},...