Jquery Ui排序表显示IE8中的损坏图像

Jquery Ui排序表显示IE8中的损坏图像,jquery,css,jquery-ui,internet-explorer-8,Jquery,Css,Jquery Ui,Internet Explorer 8,我有一个可查询排序的图像集合,即项目被设置为img(因为它位于选项卡控件中,是一个水平列表,无法在列表项目上排序,我就是无法让它工作),除了IE8(即使在符合标准的模式下)外,它在任何地方都能正常工作,其中占位符显示一个损坏的图像。是否有任何类型的CSS设置可以用来使占位符在IE8中不可见。我试过了 visibility : hidden; 我已经试过设置 content : url(transparent.gif); 两者似乎都没有任何效果。我能做些什么来解决这个问题?任何关于如何检查CS

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

visibility : hidden;
我已经试过设置

content : url(transparent.gif);
两者似乎都没有任何效果。我能做些什么来解决这个问题?任何关于如何检查CSS显示的建议,比如在Dom Explorer(或IE8开发工具中的任何名称)中,我都看不到img,因为我一放开鼠标,它就消失了,Dom Explorer似乎没有像Firebug那样实时更新

编辑:这是重复的问题

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

display : inline;

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


更新的示例位于:。

您可以尝试:
显示:无

如果不想显示占位符,请确保未设置可排序的
占位符
选项

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

如果您提供了更多的代码,或者只是编辑我提供的示例(通过),以复制问题,这将非常有用

编辑

对于您的评论,您只需将
项目
选项设置为
“li”
,问题就解决了。还有,我要你用

#images li { float: left; }
而不是

#images li { display: inline: }
否则,拖动图像时图像将偏移

以下是固定演示:

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

出现断开的图像是因为jqueryui(在您的例子中)创建了一个IMG元素,而没有为占位符设置src属性。要解决这个问题:

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

    .showPlace {
       margin: 20px;
       overflow: hidden;
       width: 0; height: 0;
    }
    
  • 上面的代码将隐藏(不存在的)图像内容,但将使元素可见


    顺便说一句,在我的测试用例中,将
    可见性:hidden
    设置为
    。showPlace
    也很有效

    我对其进行了修复,并大大减少了代码

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


    似乎正是您想要的方式:这里有另一个解决方法:

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

    换言之,设置一个启动事件处理程序,该处理程序设置占位符img的“src”属性。我希望显示空间,而不是borken img容器。display:没有人会清除空间。这是一个很棒的工具(jsbin.com),这里有一个问题重复:是的,jsbin.com是一个很好的工具,特别是对于StackOverflow。唯一的问题是,它将删除30天内未访问过的代码,因此通常最好在您的评论中包含代码和/或演示说明,以备将来使用。一旦我将此问题整理好,我将在问题中包含代码,以供后代使用。顺便说一句,我已经将示例中的所有javascript移到了HTML部分,只是为了清楚起见,我将其添加到问题中。这之所以有效,是因为您删除了sortable中的占位符选项,而不是因为从DIV更改为UL。看见
    $('.mysortthings').sortable({
      start: function(event,ui) {
            $('.ui-sortable-placeholder').each( function() {
               this.setAttribute('src','/ico/unipixel.gif'); } );
           }
    });