1

在我的应用程序中,我有 2 个 div,其中一个有很长的产品列表,可以拖到另一个 div(购物车)中。产品 div 有溢出,但它破坏了原型可拖动元素。原型黑客非常突兀,并不与所有浏览器兼容。

所以我采取了不同的方法,是否可以在不使用 CSS 的情况下拥有一个可滚动的 div overflow:auto

4

3 回答 3

2

有一个 CSS 属性来控制它。

<div style="width:100px;height:100px;overflow:scroll">
</div>

http://www.w3schools.com/Css/pr_pos_overflow.asp

于 2008-12-16T04:39:37.360 回答
1

您可以使用内容大于其窗口的框架。可能会使传递 JS 事件变得困难。

于 2008-12-16T04:31:24.540 回答
0

这是我写的让它在 IE 8.0.6 和 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({});

}

重要笔记:

  1. z-index 重复
  2. 注意容器末尾的样式丢失'starteffect'。光标和宽度只是为了保持拖动用户友好。

我希望它有所帮助。

于 2010-06-18T07:14:13.850 回答