【问题标题】:Delete record animation isn't working with dialog-confirm删除记录动画不适用于对话框确认
【发布时间】:2014-08-01 06:56:03
【问题描述】:

好的,我这里有一个 Ajax 删除记录。我尝试添加 jquery 对话框确认而不是使用 javascript 确认。删除功能有效,但问题是删除行的动画不起作用。

这就是我现在所拥有的。 http://jsfiddle.net/altaire/YJC44/

任何帮助将不胜感激。谢谢!

PHP

while($row = $result->fetch_assoc()){
echo'<tr class="records">';
echo'<td>'.$i++.'</td>
<td align="center"><a href="#" name="'.$row["counter"].','.$row["idas"].'" class="delbuttons"><img src="images/del.png" border="0" width="10" height="10" title="Delete"></a></td>
<tr>;

Jquery/Ajax

 $(".delbuttons").click(function () {
//e.preventDefault();
var element = $(this);
var del_id = element.attr("name");
var info = 'prdelete=' + del_id;

$("#dialog").dialog({
    buttons: {
        "Confirm": function () {
            $.ajax({
                type: "GET",
                url: "delete.php",
                data: info,
                success: function () {}
            });
            $(this).parents(".records").animate({
                backgroundColor: "#fbc7c7"
            }, "fast")
                .animate({
                opacity: "hide"
            }, "slow", function () {
                setTimeout(function () {
                    window.location.reload();
                }, 1000);
            });
            $(this).dialog("close");
        },
            "Cancel": function () {
            $(this).dialog("close");
        }
    }
});

$("#dialog").dialog("open");
});

【问题讨论】:

    标签: javascript jquery ajax


    【解决方案1】:

    您必须将 js 添加为“//code.jquery.com/ui/1.11.0/jquery-ui.js”。请看下面的演示。

    <html>
    <head>
    <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"> </script>
    <script src="//code.jquery.com/ui/1.11.0/jquery-ui.js"></script>
    <script> 
    $(document).ready(function(){
       $( "#effect" ).animate({backgroundColor: "#aa0000",color: "#fff",width: 500},5000);
    
    });
    </script> 
    </head>
    <body>
    <div id="effect"style="border:1px solid red;height:100px;width:100px;position:absolute;">
    </div>
    </body>
    </html>
    

    【讨论】:

      【解决方案2】:

      试试这个

      $('a[name="'+del_id+'"]').parents(".records")...

      而不是$(this).parents(".records")...

      如果您使用 $(this),您正在尝试为 $("#dialog") 设置动画。

      演示:http://jsfiddle.net/yeyene/YJC44/1/

      $(".delbuttons").click(function () {
      //e.preventDefault();
      var element = $(this);
      var del_id = element.attr("name");
      //alert(del_id);
      var info = 'prdelete=' + del_id;
      
      $("#dialog").dialog({
          buttons: {
              "Confirm": function () {
                  $.ajax({
                      type: "GET",
                      url: "delete.php",
                      data: info,
                      success: function () {
                           // $(this).parents(".records")
                           $('a[name="'+del_id+'"]').parents(".records")
                           .css({'background': '#fbc7c7'})
                           .animate({             
                               opacity: 0
                           }, 1000, function () {
                               setTimeout(function () {
                                   window.location.reload();
                               }, 1000);
                           });
                          $(this).dialog("close");
                      }
                  });
              },
                  "Cancel": function () {
                  $(this).dialog("close");
              }
          }
      });
      $("#dialog").dialog("open");
      });
      

      【讨论】:

      • 也没有动画,点击确认后对话框也没有关闭。
      • 但是当它包含对话框时确认它不起作用
      猜你喜欢
      • 2020-12-02
      • 2014-09-11
      • 1970-01-01
      • 2016-02-06
      • 2011-06-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-02-16
      相关资源
      最近更新 更多