解決辦法:
1.使用行內樣式設置元素的top和left值;
2.or直接獲取元素的offsetLeft得到相關數值,還不需要parseInt
問題原因:
如果父div的position定義為relative,子div的position定義為absolute,那么子div的style.left的值是相對于父div的值,這同offsetLeft是相同的,區別在于:
style.left 返回的是字符串,如28px,offsetLeft返回的是數值28,如果需要對取得的值進行計算,還用offsetLeft比較方便。
style.left是讀寫的,offsetLeft是只讀的,所以要改變div的位置,只能修改style.left。
style.left的值需要事先定義,否則取到的值為空,而且必須是以行內樣式的形式定義,如果定義在css里,style.left的值仍然為undefined;而offsetLeft則仍然能夠取到,無需事先定義div的位置。
以上所述是小編給大家介紹的JS獲取浮動(float)元素的style.left值為空的快速解決辦法,希望對大家有所幫助,如果大家有任何疑問歡迎給我留言,小編會及時回復大家的!
新聞熱點
疑難解答