这就是我要做的事情:
$(function(){
$('div.item').css('margin-top',-(closest('img').height())/2+'px');
});
我想要'<div class="item"'>
获得style="margin-top:XXXXXX; top:50%"
其中'XXXXXX'
等于(('div.item a img').height())/2
=============================================== =======
编辑:(已解决) 感兴趣的人的最终代码:
<script type="text/javascript">
$(function(){
theWindow.resize(function() {
$('div.item').each(function(i){
$(this).css('top',(($(window).height())/2)-(($(this).first('img').height())/2)+'px');
});
}).trigger("resize");
});
</script>
(我只使用top属性而不是top + margin-top) 谢谢你的帮助
答案 0 :(得分:2)
我认为这可能就是您所需要的,特别是如果您有多个div.item
$('div.item').each(function(){
var r = $(this).find('img').first().height();
$(this).css('margin-top', r/2 + 'px');
});
修改强>
您需要.find()
img
,然后选择.first()
。
答案 1 :(得分:0)
据我所知,你正试图做这样的事情:
$(function(){
$('div.item').css('margin-top',-($('div.item').closest('img').height())/2+'px');
});
但图像选择器取决于你的html配置 如果你发布一些html标记,maby我可以提供更好的解决方案。