没有溢出的可滚动div:auto?

时间:2008-12-16 04:19:17

标签: javascript prototypejs scriptaculous

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

所以我采用了不同的方法,是否可以使用可滚动的div而不使用CSS overflow:auto

3 个答案:

答案 0 :(得分:2)

Theres是一个css属性来控制它。

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

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

答案 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({});

}

重要说明:

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