我有一个div,我正在$(document).ready(function ())
检查条件,然后决定是否显示。
div内有一个按钮,可以淡出整个div。问题是在调用fadeout()
函数后,再次调用$(document).ready(function ())
(即页面重新加载),它再次满足显示div的条件。
我希望在调用fadeout()
函数后阻止页面重新加载。
HTML
<div class="success"><%: ViewData["successResult"] %>
<br /><br />
<span id="closenotification" class="buttons" onclick="fadeoutbox()"><a href="" ><img src="<%= Url.Content("~/Content/Images/door_out.png") %>" alt="" />Close</a></span>
</div>
的javascript
function fadeoutbox() {
$(".success").fadeOut(5000, function () {
/*$(".success").css("display", "none");
$("#closenotification").css("display", "none");*/
});
}
$(function () {
var successres = '<%= ViewData["successResult"] %>';
//alert(successres != null);
if (successres != "") {
var leftpos = screen.width / 2 - 350;
var toppos = screen.height / 2 - 125;
$(".success").css("left", leftpos);
$(".success").css("top", toppos);
$(".success").css("display", "block");
$("#closenotification").css("display", "block");
}
if ($(".failure").html() != "") {
var leftpos = screen.width / 2 - 350;
var toppos = screen.height / 2 - 125;
$(".failure").css("left", leftpos);
$(".failure").css("top", toppos);
$(".failure").css("display", "block");
}
});
答案 0 :(得分:1)
您已将图片包装在a
标记中。您需要使用preventDefault来阻止页面在a
标记的点击事件上重新加载。或完全删除a
标记。
答案 1 :(得分:0)
尝试将onclick
事件移动到链接元素(嵌套到span
中)并更改您的函数
function fadeoutbox(evt) {
evt.preventDefault();
$(".success").fadeOut(5000, function () {
...
});
}
答案 2 :(得分:0)
删除onclick="fadeoutbox()"
部分并添加此处理程序:
$('#closenotification').click(function(e) {
e.preventDefault();
fadeoutbox();
});
答案 3 :(得分:0)
试试这个:
$(function(){
var successres = '<%= ViewData["successResult"] %>';
//alert(successres != null);
if (successres != "") {
var leftpos = screen.width / 2 - 350;
var toppos = screen.height / 2 - 125;
$(".success").css("left", leftpos);
$(".success").css("top", toppos);
$(".success").css("display", "block");
$("#closenotification").css("display", "block");
return;
}
if ($(".failure").html() != "") {
var leftpos = screen.width / 2 - 350;
var toppos = screen.height / 2 - 125;
$(".failure").css("left", leftpos);
$(".failure").css("top", toppos);
$(".failure").css("display", "block");
return;
}
});
答案 4 :(得分:0)
您可以执行以下任一操作:
#
放入href fadeoutbox
e.preventDefault()