0

我想知道是否有人可以帮助我。

我已经把这个画廊页面放在一起。

使用每个图像下的图标,用户可以删除他们想要的任何图像。我没有立即删除图像,而是尝试实现模态确认对话框,因此用户可以选择取消删除。

我可以让 onlick 事件起作用,但是询问用户是否要删除图像的文本在单击时会从对话框中消失。

我确实遇到了页面加载时出现在页面顶部的对话框文本的问题。为了克服这个问题,我使用了以下方法:

我尝试添加以下内容来防止这种情况:

.hide{   display: none !important;   }  

<div id="dialog-confirm" class="hide" title="Delete This Image?"> 

所以我知道这个问题很可能是由这个引起的,但我不确定如何克服这两个问题。

我只是想知道是否有人可以看看这个,让我知道我哪里出错了。

非常感谢和问候

4

3 回答 3

1

你没有提到你的代码,但我认为问题是这样的,你的类“ .hide”正在正确应用,其中包含“ display:none”。

但是您在早期代码中为您的“对话框确认”框定义了“ display:block”属性“内联”。

并且定义为“ inline ”的css属性总是比“ class ”中定义的属性具有更高的优先级。

所以display:none被“ display:block”覆盖。

尝试通过“ .addClass()/.removeClass()”或“内联”在两个位置提供属性,这可能对你有帮助!因为它在同样的情况下对我有用



我也是这个领域的新手,所以如果我错了,请其他人纠正我!

于 2012-05-21T11:17:10.887 回答
0

请删除页面上的以下样式定义。然后它将起作用:

.hide{   display: none !important;   } 

您需要使用选项定义对话框,autoOpen: false 并且需要在单击删除按钮(使用.live代码的位置)时使用打开命令调用。请修改代码如下:

  $( "#dialog-confirm" ).dialog({
                resizable: false,
                modal: true,
                autoOpen: false
                buttons: {
                    "Delete image": function() {
                    var img = $(this).closest(".galleria-image").find("img"); 
                            // send the AJAX request
                    $.ajax({
                    url : 'delete.php',
                    type : 'post',
                    data : { image : img.attr('src'),  userid: "VALUE", locationid: "VALUE"},
                    success : function(){
                    img.parent().fadeOut('slow');
                    }
                    });
                    },
                    Cancel: function() {
                        $( this ).dialog( "close" );
                    }
                }
            }); 

    $(".btn-delete").live("click", function(){      
        $( "#dialog-confirm" ).dialog( "open" );
    return false;
    });
于 2012-05-21T12:30:35.510 回答
0

您可以autoOpen: false在对话框调用中传递该选项以隐藏它,直到它被调用;

$( "#dialog-confirm" ).dialog({
    autoOpen: false
});

有了这个选项,对话框应该在视图中隐藏,直到它被调用。

此外,您已将.hide类放在<style>..</style>标签之外,并显示在页面顶部。

于 2012-05-21T12:51:10.623 回答