jQuery是前端開發(fā)中經(jīng)常用到的一個(gè)框架,可以快速地完成頁(yè)面中各種效果的實(shí)現(xiàn)。但是在使用jQuery設(shè)置元素的left值時(shí),有時(shí)候會(huì)出現(xiàn)設(shè)置無(wú)效的情況,下面就來(lái)分析一下其中的原因。
// 設(shè)置left值的代碼 $("#element").css("left", "100px");
一般來(lái)說,使用上述代碼就可以成功地設(shè)置元素的left值,但是如果頁(yè)面中的元素具有特殊的定位方式,如absolute或fixed等,就有可能出現(xiàn)設(shè)置無(wú)效的情況。這時(shí)候需要分別處理。
對(duì)于absolute定位的元素,可嘗試加上父元素的相對(duì)定位,如:
// 父元素相對(duì)定位 $("#element").parent().css("position", "relative"); // 設(shè)置left值 $("#element").css("left", "100px");
對(duì)于fixed定位的元素,則需要使用window的scroll事件來(lái)觸發(fā)重新設(shè)置left值,代碼如下:
$(window).scroll(function() { $("#element").css("left", "100px"); });
這樣就可以保證每當(dāng)頁(yè)面滾動(dòng)時(shí),元素的left值會(huì)重新被設(shè)置,達(dá)到需要的效果。