function EditUser(id, userName) {   
   $("#depBtn").eq(4).ShowBoloDialog({Contents:"234" });
   $("#depBtn").eq(4).ShowBoloDialog({Contents:"abc" });
}ShowBoloDialog是我写的插件,我最后得到结果的是 234 而不是abc,我的需求是得到传入参数的Contents为abc,有什么办法?

解决方案 »

  1.   

    ShowBoloDialog实现的是什么功能?
      

  2.   

    ShowBoloDialog 就是弹出一个遮罩层,然后遮罩层上面显示contens
    我上面的代码得到的效果是 遮罩层上面显示234 而不是 abc
      

  3.   

    ShowBoloDialog
    这个代码可以贴下不
      

  4.   

    (function($) {
        $.fn.ShowBoloDialog = function(options) {
            var opts = $.extend({}, $.fn.ShowBoloDialog.defaults, options);
            $(this).click(function() {
                //以下代码不通用
                if ($(this).attr("bkimg") == "3")
                    return
                //结束
                var w, h, de;
                de = document.documentElement;
                w = self.innerWidth || (de && de.clientWidth) || document.body.clientWidth;
                h = self.innerHeight || (de && de.clientHeight) || document.body.clientHeight;
                var diagtop = h / 2 - (opts.Height / 2) + eval($(document).scrollTop());
                var diagleft = w / 2 - (opts.Width / 2) + eval($(document).scrollLeft());
                if (!$("#BoloDialogWindow").length > 0) {
                    var maktemp = '<div id="diag" style="background:#eee;width:' + w + 'px; height:' + h + 'px; position:absolute; top:0px;left:0px; z-index:80;"></div>';
                    var contenDiv = opts.Contents;
                    if (opts.ContentFlag == 1) {
                        contenDiv = "<iframe src='" + opts.FrameURL + "' style=\"height:100%; width:100%;\" scrolling=\"no\" frameborder=\"0\"></iframe>";
                    }                var tempstr = '';
                    tempstr += '    <div id="BoloDialogWindow">';
                    tempstr += '  <div class="title1"><div id="Title">' + opts.Title + '</div><a class="close"></a></div>';
                    tempstr += ' <div class="title2"><div id="SubTitle">' + opts.SubTitle + '</div></div>';
                    tempstr += ' <div class="title3"><div id="Des">' + opts.Des + '</div></div>';
                    tempstr += '<div id="Content">' + contenDiv + '</div>'; //内容
                    tempstr += '  </div>';
                    $("body").append(maktemp);
                    $("body").append(tempstr);
                }
                else {
                    $("#diag").show();
                    $("#BoloDialogWindow").show();
                }
                var css = {}
                if (window.navigator.userAgent.indexOf('MSIE') >= 1) {
                    css.filter = 'progid:DXImageTransform.Microsoft.Alpha(opacity=' + opts.Intopacity * 100 + ')';
                }
                else {
                    css.opacity = opts.Intopacity;
                }
                $("#diag").css(css); //设置遮罩层,兼容IE,FF
                $("#BoloDialogWindow").css({ "top": diagtop, "left": diagleft, "width": opts.Width, "height": opts.Height });
                $("#Content").css({ "height": opts.Height - 100 }); //设置内容Div
                //拖动
                if (opts.IsDrag == 1) {
                    document.onselectstart = function() { return true; };
                    var moveFlag = false;
                    var mouseStartLeft = mouseStartTop = 0;
                    var divStartLeft = divStartTop = 0;
                    $("#BoloDialogWindow .title1").mousedown(function(e) {
                        moveFlag = true;
                        $("#BoloDialogWindow").css({ "cursor": "move" });
                        mouseStartLeft = (typeof (event) != 'undefined') ? event.x : e.pageX;
                        mouseStartTop = (typeof (event) != 'undefined') ? event.y : e.pageY;
                        divStartLeft = $("#BoloDialogWindow").offset().left;
                        divStartTop = $("#BoloDialogWindow").offset().top;
                    }).mouseup(function() {
                        moveFlag = false;
                        $("#BoloDialogWindow").css({ "cursor": "default" });
                        mouseStartLeft = mouseStartTop = 0;
                        divStartLeft = divStartTop = 0;
                    });
                    $(document).mousemove(function(e) {
                        if (!moveFlag) return;
                        document.onselectstart = function() { return false; };
                        var mouseLeft = (typeof (event) != 'undefined') ? event.x : e.pageX;
                        var mouseTop = (typeof (event) != 'undefined') ? event.y : e.pageY;
                        var addLeft = mouseLeft - mouseStartLeft;
                        var addTop = mouseTop - mouseStartTop;
                        $("#BoloDialogWindow").css({ "left": divStartLeft + addLeft, "top": divStartTop + addTop });
                    });
                }
                //end 
                $(window).scroll(function() {
                    var diagtop = h / 2 - (opts.Height / 2) + eval($(document).scrollTop());
                    var diagleft = w / 2 - (opts.Width / 2) + eval($(document).scrollLeft());
                    $("#BoloDialogWindow").css({ "top": diagtop, "left": diagleft });
                });            $(".close").click(function() {
                    if ($("#BoloDialogWindow").length > 0) {
                        $("#BoloDialogWindow").remove();
                    }
                    if ($("#diag").length > 0) {
                        $("#diag").remove();
                    }
                })        })
        };
        $.fn.ShowBoloDialog.defaults = {
            Width: "300",
            Height: "300",
            Title: "对话框",
            SubTitle: "子标题",
            Des: "功能描述",
            Intopacity: "0.2",
            ContentFlag: "0",
            FrameURL: "",
            Contents: "",
            IsDrag: "1"
        };
    })(jQuery);
      

  5.   

    if (!$("#BoloDialogWindow").length > 0) {
    这个条件好像有问题,
    你第一次创建后,以后只是show,没有改变内容。