Привет, это может быть не связано, но я подумал, что выложу решение, которое подойдет именно для меня IE7, все другие браузеры работают, кроме IE7.
для меня target.offsetTop
в IE7 возвращался ниже, чем в других браузерах, например
целевой элемент вложен в другие элементы
<div id="maindiv">
<input type="hidden" id="droptext" />
<input type="hidden" id="dropvalue" />
<div id="targetitems">
<div id="targets">
<div id="target_1"></div>
<div id="target_2"></div>
</div>
</div>
</div>
//IE7
var target = ( $("#target_1").length > 0 ) ? $("#target_1")[0] : null;
if (target != null){
var targetTop = target.offsetTop; //e.g 14
}
//IE8 and Others same object but offsetTop was much larger
var target = ( $("#target_1").length > 0 ) ? $("#target_1")[0] : null;
if (target != null){
var targetTop = target.offsetTop; //e.g 358
}
Поэтому в IE7 вам нужно получить target.parentNode.offsetTop
и добавить его к target.offsetTop
например:
var targetTop = 0;
var target = ( $("#target_1").length > 0 ) ? $("#target_1")[0] : null;
if (ie7){
targetTop = target.offsetTop + target.parentNode.offsetTop + target.parentNode.parentNode.offsetTop //will be determined by number of parents.
}else{
targetTop = target.offsetTop;
}
В любом случае, надеюсь, что это поможет кому-то определенно помочь мне, или что-то совершенно другое.