在我的应用程序中,我有2个div,其中一个有很长的产品列表,可以拖到另一个div(购物车)。产品div有溢出但它打破了原型可拖动元素。原型黑客非常突兀,与所有浏览器都不兼容。
所以我采用了不同的方法,是否可以使用可滚动的div而不使用CSS overflow:auto
?
答案 0 :(得分:2)
Theres是一个css属性来控制它。
<div style="width:100px;height:100px;overflow:scroll">
</div>
答案 1 :(得分:1)
您可以使用内容大于其窗口的框架。可能会让传递JS事件变得困难。
答案 2 :(得分:0)
这是我写的在IE 8.0.6&amp; Firefox 3.6.3:
使"width:100px;scrollable:auto"
容器中的元素(带边框)可拖动:
function makeDraggable(container,tag) {
if(!container || !tag) { return false; }
$(container).select(tag).each( function(o) {
new Draggable(o,{
starteffect: function(e){makeDragVisible(container,e);},
endeffect: function(e){e.setStyle({'position':'','width':'','cursor':''});},
zindex: 1000
// , revert: ... // the other options
});
});
}
function makeDragVisible(container,element) {
if(!container || !element) { return false; }
var i=$(container).getStyle('width');
i=i.replace('px','');
i=Math.round(i-20)+'px';
element.setStyle({'width':i,'z-index':1000,'position':'absolute','cursor':'move'});
//
$(container).setStyle({});
}
重要说明:
'starteffect'
末尾的容器丢失样式。光标和宽度只是为了保持拖动用户友好。我希望它有所帮助。