Javascript 在iframe中启用jquerydraggable的滚动
在iframe中是否仍然可以在jquery draggable中启用滚动scroll:true在使用鼠标中键滚动时不起作用,或者iframeFix不起作用,但是如果使用鼠标左键向下拖动,其不起作用,您能帮助我吗Javascript 在iframe中启用jquerydraggable的滚动,javascript,jquery,html,jquery-ui,iframe,Javascript,Jquery,Html,Jquery Ui,Iframe,在iframe中是否仍然可以在jquery draggable中启用滚动scroll:true在使用鼠标中键滚动时不起作用,或者iframeFix不起作用,但是如果使用鼠标左键向下拖动,其不起作用,您能帮助我吗 $(".draggables .item-container .item").draggable({ revert: "invalid", containment: "#selection", helper: "clone", iframeFix: tr
$(".draggables .item-container .item").draggable({
revert: "invalid",
containment: "#selection",
helper: "clone",
iframeFix: true,
scroll: true,
scrollSensitivity: 100,
scrollSpeed: 100,
cursor: "move",
});
$(".droppables .item-container .item").droppable({
accept: ".draggables .item-container .item",
classes: {
"ui-droppable-active": "ui-state-active",
"ui-droppable-hover": "ui-state-hover"
},
drop: function( event, ui ) {
insertItem(this, ui.draggable );
}
});
<div style="height: 178px; border: 1px solid #000;"></div> <iframe src="index.html?formForward=LOAD&t_mm=02&t_dd=27&t_hh=12&t_min=01" onload="resizeIframe(this);parent.scroll(0,0);" height="2000" style="border-width: 0px; height: 2000px;" width="100%" scrolling="auto">
</iframe><div style="height: 1000px; border: 1px solid #000;">
$(“.draggables.item container.item”).draggable({
回复:“无效”,
遏制:“选择”,
助手:“克隆”,
iframeFix:是的,
卷轴:没错,
灵敏度:100,
滚动速度:100,
光标:“移动”,
});
$(“.droppables.item container.item”).droppable({
接受:“.draggables.item容器.item”,
课程:{
“ui可拖放活动”:“ui状态活动”,
“ui可拖放悬停”:“ui状态悬停”
},
drop:函数(事件、用户界面){
插入项(此,ui.draggable);
}
});
我是这样解决的。我希望这能帮助你
(function ($) {
$(function () {
$.ui.plugin.add( "draggable", "scroll_fix_iframe", {
start: function( event, ui, i ) {
// Solution
i.scrollParentNotHidden[ 0 ] = document.documentElement;
i.overflowOffset = $(ui.helper).offset();
/*
if ( !i.scrollParentNotHidden ) {
i.scrollParentNotHidden = i.helper.scrollParent( false );
}
if ( i.scrollParentNotHidden[ 0 ] !== i.document[ 0 ] &&
i.scrollParentNotHidden[ 0 ].tagName !== "HTML" ) {
i.overflowOffset = i.scrollParentNotHidden.offset();
}
*/
},
drag: function( event, ui, i ) {
var o = i.options,
scrolled = false,
scrollParent = i.scrollParentNotHidden[ 0 ],
document = i.document[ 0 ];
if ( scrollParent !== document && scrollParent.tagName !== "HTML" ) {
if ( !o.axis || o.axis !== "x" ) {
if ( ( i.overflowOffset.top + scrollParent.offsetHeight ) - event.pageY <
o.scrollSensitivity ) {
scrollParent.scrollTop = scrolled = scrollParent.scrollTop + o.scrollSpeed;
} else if ( event.pageY - i.overflowOffset.top < o.scrollSensitivity ) {
scrollParent.scrollTop = scrolled = scrollParent.scrollTop - o.scrollSpeed;
}
}
if ( !o.axis || o.axis !== "y" ) {
if ( ( i.overflowOffset.left + scrollParent.offsetWidth ) - event.pageX <
o.scrollSensitivity ) {
scrollParent.scrollLeft = scrolled = scrollParent.scrollLeft + o.scrollSpeed;
} else if ( event.pageX - i.overflowOffset.left < o.scrollSensitivity ) {
scrollParent.scrollLeft = scrolled = scrollParent.scrollLeft - o.scrollSpeed;
}
}
} else {
if ( !o.axis || o.axis !== "x" ) {
if ( event.pageY - $( document ).scrollTop() < o.scrollSensitivity ) {
scrolled = $( document ).scrollTop( $( document ).scrollTop() - o.scrollSpeed );
} else if ( $( window ).height() - ( event.pageY - $( document ).scrollTop() ) <
o.scrollSensitivity ) {
scrolled = $( document ).scrollTop( $( document ).scrollTop() + o.scrollSpeed );
}
}
if ( !o.axis || o.axis !== "y" ) {
if ( event.pageX - $( document ).scrollLeft() < o.scrollSensitivity ) {
scrolled = $( document ).scrollLeft(
$( document ).scrollLeft() - o.scrollSpeed
);
} else if ( $( window ).width() - ( event.pageX - $( document ).scrollLeft() ) <
o.scrollSensitivity ) {
scrolled = $( document ).scrollLeft(
$( document ).scrollLeft() + o.scrollSpeed
);
}
}
}
if ( scrolled !== false && $.ui.ddmanager && !o.dropBehaviour ) {
$.ui.ddmanager.prepareOffsets( i, event );
}
}
} );
$("#drag").draggable({
scroll_fix_iframe:true,
start: function(){},
stop: function() {},
drag: function(event,ui){}
});
});
})(jQuery);
(函数($){
$(函数(){
$.ui.plugin.add(“可拖动”、“滚动\u修复\u iframe”{
开始:函数(事件、ui、i){
//解决方案
i、 scrollParentNotHidden[0]=document.documentElement;
i、 overflowOffset=$(ui.helper).offset();
/*
如果(!i.s.不隐藏){
i、 scrollParentNotHidden=i.helper.scrollParent(false);
}
if(i.scrollParentNotHidden[0]!==i.document[0]&&
i、 scrollParentNotHidden[0]。标记名!=“HTML”){
i、 overflowOffset=i.scrollParentNotHidden.offset();
}
*/
},
拖动:函数(事件、ui、i){
var o=i.期权,
滚动=错误,
scrollParent=i.scrollParentNotHidden[0],
document=i.document[0];
if(scrollParent!==文档和scrollParent.tagName!==“HTML”){
如果(!o.axis | | o.axis!=“x”){
如果((i.overflowOffset.top+scrollParent.offsetHeight)-event.pageY<
o、 (灵敏度){
scrollParent.scrollTop=scrolled=scrollParent.scrollTop+o.scrollSpeed;
}else if(event.pageY-i.overflowOffset.top