Nó hoạt động hoàn hảo trong firefox, nhưng ví dụ, chrome và opera nó không hoạt động.Làm thế nào để sử dụng jQuery draggable với vị trí cố định?
<div> has position:fixed, and is .draggable()
và nó không hoạt động trừ firefox
Nó hoạt động hoàn hảo trong firefox, nhưng ví dụ, chrome và opera nó không hoạt động.Làm thế nào để sử dụng jQuery draggable với vị trí cố định?
<div> has position:fixed, and is .draggable()
và nó không hoạt động trừ firefox
không thiết lập cố định trong CSS: nó hoạt động trong firefox, crom, safari, iexplore
var div = $('#id');
div.resizable(
{
stop: function(event, ui)
{
var top = getTop(ui.helper);
ui.helper.css('position', 'fixed');
ui.helper.css('top', top+"px");
}
});
div.draggable(
{
stop: function(event, ui)
{
var top = getTop(ui.helper);
ui.helper.css('position', 'fixed');
ui.helper.css('top', top+"px");
}
});
function getTop(ele)
{
var eTop = ele.offset().top;
var wTop = $(window).scrollTop();
var top = eTop - wTop;
return top;
}
Chỉ cần sử dụng trong CSS của bạn:
#draggable{
position:fixed !important;
}
Nếu bạn đang sử dụng cả hai kéo và có thể tháo rời xóa "! Quan trọng" khỏi CSS, sau đó đặt dừng tùy chọn (gọi lại khi kéo và dừng thay đổi kích thước) để chức năng này:
function stop(event){
if(event.type === "resizestop"){
var topOff = $(this).offset().top - $(window).scrollTop()
$(this).css("top",topOff)
}
$(this).css("position","fixed")
}
Chắc chắn, bạn không thể muốn nó được kéo và giữ vị trí tương đương? Bạn sẽ tách màn hình của mình ra. – sje397
Tôi có thể. Tôi muốn nó được "cố định" trong cổng xem, nhưng tôi cũng có thể di chuyển nó một chút sang phải hoặc trái (kéo được), và nếu tôi thả nó, nó sẽ được "cố định" ở vị trí mới. – rafaello
Tôi nhận được hành vi giống hệt nhau trong Chrome và FF: [ở đây] (http://jsfiddle.net/s4dhW/1/) – sje397