1

我有一个查询可排序的图像集合,即。项目设置为 img (由于它位于选项卡控件中并且是一个水平列表,无法在列表项目上排序,我只是无法让它工作),除了 IE8(即使在标准合规模式下),其中占位符显示损坏的图像。是否有任何类型的 CSS 设置可用于使占位符在 IE8 中不可见。我试过了

visibility : hidden;

我试过设置

content : url(transparent.gif);

似乎都没有任何效果。我能做些什么来解决这个问题?关于如何检查显示的 CSS 的任何建议,如在 Dom Explorer 中(或在 IE8 开发人员工具中调用的任何内容)我看不到 img,因为一旦我松开鼠标,它就会消失并且 Dom Explorer 似乎并没有像 Firebug 那样实时更新。

编辑:这是重复的问题http://jsbin.com/irozu

我过度简化了我的示例,另一个问题是整个选项卡是可滚动的,由滑块控制。改变

display : inline;

float : left;

不起作用,因为我们不再有可滚动的项目列表。同样出于某种奇怪的原因,当有滚动条并且您使用“li”而不是“img”作为目标时,可排序停止工作。

更新的示例位于:http: //jsbin.com/ahawi

4

5 回答 5

1

如果您不想显示占位符,请确保您没有设置可排序的placeholder选项。

我认为 IE8 中的默认可排序行为没有问题。我试图重新创建您在此托管示例中描述的内容:http: //jsbin.com/osobu(可排序的图像位于第三个选项卡中。)

如果您提供更多代码或仅编辑我提供的示例(通过http://jsbin.com/osobu/edit)以复制问题,这将很有帮助。

编辑

针对您的评论,您只需将items选项设置为即可"li",问题已解决。另外,我必须给你使用

#images li { float: left; }

代替

#images li { display: inline: }

否则图像将在您拖动时偏移。

这是固定的演示:http: //jsbin.com/osezu

于 2009-05-03T03:32:53.453 回答
1

占位符显示损坏的图像的位置。是否有任何类型的 CSS 设置可用于使占位符在 IE8 中不可见。我试过了

出现损坏的图像是因为 jQuery UI 创建(在您的情况下)没有为占位符设置 src 属性的 IMG 元素。要解决这个问题:

  1. 不要设置占位符选项或
  2. 将您的 .showPlace 类更改为类似

    .showPlace {
       margin: 20px;
       overflow: hidden;
       width: 0; height: 0;
    }
    

上面的代码将隐藏(不存在的)图像内容,但会使元素可见。

顺便提一句。在我的测试用例中,设置visibility: hidden.showPlace很好

于 2009-05-06T08:20:59.477 回答
1

我修复了它并减少了很多代码。

主要问题是您设置 DIV 可排序而不是 UL

似乎按照您想要的方式工作:http: //jsbin.com/egiwu

于 2009-05-06T09:47:26.803 回答
0

你可以试试:display: none;

于 2009-05-03T02:35:09.257 回答
0

这是另一种解决方法:

$('.mysortthings').sortable({
  start: function(event,ui) {
        $('.ui-sortable-placeholder').each( function() {
           this.setAttribute('src','/ico/unipixel.gif'); } );
       }
});

换句话说,设置一个启动事件处理程序,它设置占位符 img 的 'src' 属性,只要事情开始。

于 2010-11-01T00:54:52.917 回答