我的要求是使用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'))
我的要求是:
我是否能够通过向div添加Okay按钮并为Okay按钮添加行为来实现此目的。或者有没有办法扩展通用警报框行为并使用我上面提到的css属性对其进行自定义?如果是,如何实现呢?
答案 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)
警报,确认等默认弹出窗口无法自定义...您需要使用
创建自己的divCSS
#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完成所有这些......