2012-11-19 86 views
1

我有一些基本的懸停/工具提示代碼工作,需要修改,以便當工具提示點擊瀏覽器窗口的邊緣時添加第二個類名稱。任何人都可以伸出援手嗎?jQuery工具提示檢測屏幕邊緣

this.tooltip = function() { 
    $(".challenge_card").hover(function (e) { 
       $(this).parent().append("<div id='tooltip'></div>"); 
       $("#tooltip") 
         .fadeIn("fast"); 
      }, 
      function() { 
       $("#tooltip").remove(); 
      }); 
}; 
+0

@ahren這裏的我如何設置代碼。 (「。tooltip」)。fadeIn(「fast」);' $(「。challenge_card」).hover(function(e){(this).parent()。append(「

」); $ 如果($ tooltip.offset()左+ $ tooltip.outerWidth()> WW。){ 警報($(窗口).WIDTH());} } , 函數(){ $(「# tooltip「)。remove(); }); }; (); { tooltip();' – geraddavis

回答

3
var wW = $(window).width(); 
var $tooltip = $('#tooltip'); 

if($tooltip.offset().left + $tooltip.outerWidth() > wW){ 
    // You've hit the right side of the browser window 
} 

像這樣的東西應該工作 - 不考慮過程的頂部位置,但給你的基本邏輯來檢查提示的位置...

+0

我很難讓你的解決方案工作,防止錯誤的唯一方法是將if語句放在.hover函數中。當你的工具提示碰到窗口的右側時發生。 – geraddavis

+0

你得到的錯誤是什麼?我沒有寫任何東西來重新定位它,你只是想知道如何檢測屏幕邊緣... – ahren

+0

「無法讀取屬性」左邊'null'是錯誤,我正在測試一個簡單的提示。 – geraddavis