如何自定义警报框的CSS字段?

时间:2013-06-24 10:25:41

标签: javascript jquery html css

我的要求是使用css属性自定义警告框。目前,我通过以下代码实现了类似的功能:

JQUERY:

$('<div class="alertMessage">Error first</div>')
.insertAfter($('#componentName'))
.fadeIn('fast')
.animate({opacity: 1.0}, 2200)
.fadeOut('fast', function() {
    $(this).remove();
});

CSS:

.alertMessage {
    width: 95%;
    margin: 1em 0;
    padding: .5em;

    background-image: -ms-radial-gradient(left top, circle farthest-corner, #F07E1A 0%, #F58CCB 100%);
    background-image: -moz-radial-gradient(left top, circle farthest-corner, #F07E1A 0%, #F58CCB 100%);
    background-image: -o-radial-gradient(left top, circle farthest-corner, #F07E1A 0%, #F58CCB 100%);
    background-image: -webkit-gradient(radial, left top, 0, left top, 1012, color-stop(0, #F07E1A), color-stop(1, #F58CCB));
    background-image: -webkit-radial-gradient(left top, circle farthest-corner, #F07E1A 0%, #F58CCB 100%);
    background-image: radial-gradient(circle farthest-corner at left top, #F07E1A 0%, #F58CCB 100%);

    text-align: center;
    border: 3px solid white;
    color: white;
    font-weight: bold;
    border-radius:4px;
    display: none;
 }

以上代码将在几秒后淡入淡出并淡出淡出。淡入和淡出也会发生在我在代码中提到的组件

旁边
insertAfter($('#componentName'))

我的要求是:

  1. 警告信息应位于窗口中央。就像普通的提示框一样
  2. 警告消息应该有一个好的按钮。就像普通的警报框一样。
  3. 我是否能够通过向div添加Okay按钮并为Okay按钮添加行为来实现此目的。或者有没有办法扩展通用警报框行为并使用我上面提到的css属性对其进行自定义?如果是,如何实现呢?

4 个答案:

答案 0 :(得分:2)

您需要自己实现外观和行为,标准警告框不可自定义。

您已经在使用jQuery的另一种方法是使用jQueryUI提供的功能。

答案 1 :(得分:0)

我认为,您可以使用JQuery Dialog,请查看以下链接 http://jqueryui.com/dialog/#modal-message

答案 2 :(得分:0)

您可以使用自己的代码尝试此操作。你不需要任何blugins。检查我的小提琴

http://jsfiddle.net/ponrajpaul/tNgkz/

<强> HTML

<div class="alertMessage">
  alert message
  <input type="button" value="ok" class="ok" />
</div>

<强> CSS

.alertMessage{
    width:100px;
    height:50px;
    background-image: -ms-radial-gradient(left top, circle farthest-corner, #F07E1A 0%, #F58CCB 100%);
    background-image: -moz-radial-gradient(left top, circle farthest-corner, #F07E1A 0%, #F58CCB 100%);
    background-image: -o-radial-gradient(left top, circle farthest-corner, #F07E1A 0%, #F58CCB 100%);
    background-image: -webkit-gradient(radial, left top, 0, left top, 1012, color-stop(0, #F07E1A), color-stop(1, #F58CCB));
    background-image: -webkit-radial-gradient(left top, circle farthest-corner, #F07E1A 0%, #F58CCB 100%);
    background-image: radial-gradient(circle farthest-corner at left top, #F07E1A 0%, #F58CCB 100%);
    text-align: center;
    border: 3px solid white;
  }

<强> SCRIPT 位置中心到消息div的脚本

jQuery.fn.posCenter = function () {
    this.css("position","fixed");
    this.css("top", Math.max(0, (($(window).height() - $(this).outerHeight()) / 2) + $(window).scrollTop()) + "px");
    this.css("left", Math.max(0, (($(window).width() - $(this).outerWidth()) / 2) + $(window).scrollLeft()) + "px");
    return this;
}

脚本用于调用警报消息div

$(document).ready(function(){
   $('.alertMessage').posCenter();
});

每当您想要显示警报消息时,只需调用此函数即可。在将 display:none 设置为警告消息之前。

$(document).ready(function(){
  $('.alertMessage').css({"display" : "block"});
  $('.alertMessage').posCenter();  
  $('input.ok').click(function(){
     $('.alertMessage').css({"display" : "none"});
  });
});

答案 3 :(得分:0)

警报,确认等默认弹出窗口无法自定义...您需要使用

创建自己的div

CSS

#yourPopupDiv {position : absolute}

使用jquery(或javascript)

添加此CSS
$('#yourPopupDiv').css('top', $('body').height()/2 - $('#yourPopupDiv').height()/2);
$('#yourPopupDiv').css('left', $('body').width()/2 - $('#yourPopupDiv').width()/2);

或使用jquery ui dialog完成所有这些......