[英]jQuery .css() not working in IE 6,7,8 and Firefox, but works in Chrome, Safari, Opera
[英]Picking and calling original css with data() and attr() works in Firefox, but not in Opera and Chrome?
我希望能夠在jquery中的某些事件上拖動(jquery ui draggable()
)后將draggable div重置為其原始位置。 我這樣做:
$('#nav').draggable();
$('#nav').data({'x': $("#nav").css('left'), 'y': $("#nav").css('top')});
$("#c").click(function () {
$('#nav').animate({'left': parseInt($("#nav").data('x')) - 15, 'top': parseInt($("#nav").data('y')) - 14}, {duration : 500});
});
而且即使在較舊的Firefox中也可以使用,但在最新的Opera和Chrome中無法使用。 我試圖用attr()替換data(),但還是一樣。
如何以更跨瀏覽器的方式實現?
編輯 :這是運行中的代碼: http : //jsfiddle.net/MVCA6/
這里的問題是,jQuery UI Draggable使用top
和left
屬性來移動元素,而您使用bottom
和right
來設置紅色框的位置;
將console.log($('#nav').data())
到click事件中,您將看到屬性x
和y
都設置為auto
。
為了解決這個問題,您需要更新CSS以使用top
和left
定位紅色框。
示例: http : //jsfiddle.net/MVCA6/1/
附帶說明:適當的代碼縮進可以幫助解決調試問題。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.