所以,這是不可能的,這將解決您的問題,因爲你似乎有足夠能力知道如何做到這一點,發佈到實際對問題進行評估沒有真正的代碼,我不能找出你正在使用的是哪個Facebook API,但是,你不能僅僅捕獲點擊事件和iframe的寬度,不管它是什麼,只是比較偏移量?喜歡的東西 -
$("#social-container").click(function(e){
var facebookSelector = $(iframe selector here);
var iframeHeight = facebookSelector.height();
var iframeWidth = facebookSelector.width();
var winHeight = $(window).height();
var winWidth = $(window).width();
if (e.clientY && e.clientX){
//Set the top based on where mouse click occured
if (e.clientY > (winHeight-iframeHeight)){
facebookSelector[0].style.top = winHeight-iframeHeight + "px";
}
else {
facebookSelector.style.top = e.clientY + "px";
}
//Set the left based on where mouse click occured
if (e.clientX > (winWidth-iframeWidth)){
facebookSelector[0].style.left = winWidth-iframeWidth + "px";
}
else {
facebookSelector[0].style.left = e.clientX + "px";
}
}
}
上面的例子少verbose-
$("#social-container").click(function(e){
var facebookSelector = $(iframe selector here);
var h = $(window).height() - facebookSelector.height();
var w = $(window).width() - facebookSelector.width();
if (e.clientY && e.clientX){
//Set the top based on where mouse click occured
facebookSelector[0].style.top = (e.clientY > h) ? h + "px" : e.clientY + "px";
//Set the left based on where mouse click occured
facebookSelector[0].style.left = (e.clientX > w) ? winWidth-iframeWidth + "px" : e.clientX + "px";
}
}
你也可以使用像按鈕,而不是點擊位置的Facebook的位置(你想也好,真的)。
注意事項和附錄:
1。如果您的iframe的id(或任何其他內容)由Facebook動態生成,並且您無法控制它,那麼這將不會如此輕鬆。
2.如果Like按鈕位於iframe中,防止事件冒泡到您的容器。
3.此示例目前需要jQuery。
4.您的iframe(或其他)必須是position: absolute
或position: fixed
你真的希望得到沒有任何代碼的幫助嗎? – Jawad
發佈一個顯示問題的URL,我會盡力爲您提供一個可行的解決方案。 –
@Jawed,這是Facebook的「贊」按鈕,它作爲一個iFrame進來...你期待什麼代碼?你想要我的容器? '