2012-02-27 78 views
2

只是想知道是否有可能讓一個元素忽略任何包含位置的包裝:相對。是否可以使元素忽略位置:相對?

我創建的元素與jQuery放置在絕對位置,無論用戶如何放置元素都需要工作。

我不能將它們放在BODY標籤中,因爲我需要將它們與inputfield一起放入包裝中。

任何想法?

更新: 找到了解決方法。我正在使用獲取文檔位置的jQuery .offset()。 將它編輯爲.position(),它獲取父元素內部元素的位置。現在它可以工作

+3

不,我不這麼認爲。一個流行的解決方法是使用jQuery將元素剪切並粘貼到包裝外的位置 – 2012-02-27 12:12:46

+0

爲什麼不將包裝添加到包含元素和inputfield的正文?除非我錯過了什麼? – Alex 2012-02-27 12:15:04

+0

@亞歷克斯托馬斯:包裝具有'位置:相對',並且可以隨身攜帶元素。 – BoltClock 2012-02-27 12:18:13

回答

0

也許我錯過了一些東西,但是你可以監視一個調整大小的事件,然後重新定位你的元素。 http://api.jquery.com/resize/

+0

它dosnt與調整大小有關。問題是我有一個表單,裏面有inputfields。當用戶點擊輸入字段時,我會在輸入字段中放置一個錯誤框。該位置是用輸入框的位置計算出來的,然後放在角落裏。但是,如果用戶具有相對位置的表單,則錯誤框會出錯。 – Lasse 2012-02-27 12:18:03

+2

@QuakeDK:你可以將你的代碼添加到你的問題中嗎? – BoltClock 2012-02-27 12:18:53

+0

@BoltClock:我同意QuakeDK,我想我們將需要看到一些示例網站和或代碼。 – Alex 2012-02-27 12:24:45

0

一個雖然是設置在左側和頂部的屬性,如果沒有位置:相對的父母,並添加可以說類「body_pos」:

$(function() { 
    $('.body_pos').each(function() { 
    var offset = $(this).offset(); 
    $(this).css({ 
     left : '-='+offset.left, 
     top : '-='+offset.top 
    }); 
    }); 
}); 

示例:您已經離開設定:50px,該元素位於文檔左側:100px,然後它將位於左側:-50px。

它應該授予所需的效果,只要它不在邊界內:0 auto box,並且窗口被調整大小我想。

+0

林不知道這是你的ment,但我試圖刪除的位置:絕對,只用左,頂,但它然後它dosnt影響元素? – Lasse 2012-02-27 12:30:12

+0

這是一個聰明的解決方法,但只有在父容器的「溢出」未設置爲「隱藏」時纔有效。 – 2012-02-27 12:45:33

+0

準備建議'offset()'。是'position()'受影響和元素溢出? @Pekka – Alex 2012-02-27 12:49:56

相關問題