我只是想根據周圍的空間獲得鼠標懸停div的位置。不知何故,我能夠在前兩列做到這一點,但不能用於其他列。可能是我寫的條件狀態寫錯了。無法計算懸停元素的確切位置
任何人都可以請幫忙嗎?
JS小提琴網址:
http://jsfiddle.net/mufeedahmad/2u1zr11f/7/
JS代碼:
$('.thumb-over-team li').find('.cover').css({opacity:0});
$('.thumb-over-team li').on('mouseenter', function(){
var $this = $(this),
thisoffset = $this.position().left,
openDivId = $(this).find('.cover'),
thumbContainer = '.thumb-over-team',
speedanim = 200;
if(thisoffset + openDivId.outerWidth() >= $(thumbContainer).outerWidth()){
//thisoffset = $(thumbContainer).outerWidth() - openDivId.outerWidth() - 212;
thisoffset = thisoffset - openDivId.outerWidth()+10;
openDivId.stop().css({'z-index':'9999'}).animate({'opacity':'1', 'left':-thisoffset}, 200);
}else{
openDivId.stop().css({'z-index':'9999'}).animate({'opacity':'1', 'left':'212px'}, 200);
}
}).on('mouseleave', function(){
$(this).find('.cover').stop().css({'z-index':'-1'}).animate({'opacity':'0', 'left':'200px'}, 200);
});
$('.close-parent').on('click', function(){
$(this).parents('.cover').stop().css({'z-index':'-1'}).animate({'opacity':'0', 'left':'200px'}, 200);
});;
你正在試圖做什麼的還不清楚的內蓋,什麼是理想的結果?如果你看看你的帖子標題:'無法計算懸停元素的確切位置' - 答案很簡單,使用'on('hover',function ...'event或'hover()'函數並檢查 – odedta
看起來'.cover'在'.thumb-over-team'裏面,所以這個可擴展的方塊('.cover')將它的寬度加到容器的總寬度上('.thumb-over-團隊「),因此你的條件」認爲「'。cover'仍然可以放在'.thumb-over-team'的寬度內,如'($(thumbContainer).outerWidth())所計算' –