PDA

View Full Version : سوال: قرار دادن wait در زمان اجرای یک event



rozgol
یک شنبه 12 دی 1389, 13:45 عصر
سلام
من می خوام تا زمان اجرا شدن یه event یه آیکن waite نمایش داده بشه وکل صفحم locked و کمرنگ بشه
لطفا کمکم کنید.

ایمان مدائنی
یک شنبه 12 دی 1389, 14:01 عصر
ميتونيد از يك UpdatePanel استفاده كنيد و در زمان لود از UpdateProgress استفاده كنيد
براي اين كار هم ميتونيد از اشكال مختلف UpdateProgress استفاده كنيد كه چند نمونه در Telerike q3 2010 وجود داره

z_software
یک شنبه 12 دی 1389, 14:26 عصر
سلام من هم همین کار را می خواهم انجام بدم (خیلی هم جست جو کردم)ولی راه حل ثابتی هنوز پیدا نکردم روش هایی که پیدا کردم هرکدام یه مشکل داشت (مثلاً از یه div استفاده بکنی و اون را Gray کنی که من نتونستم انجامش بدم و آخر هم متوجه شدم که با بعضی مرورگرها این کار جواب نمیده)، دست آخر متوجه شدم که با Ajaxtoolkit ها میشه این کار را خیلی قشنگ انجام داد ، ولی چطوری هنوز متوجه نشدم . شاید شما باید بتونید باهاش کار کنید و نتیجه بگیرید (ما را هم خبر کنید:لبخند:) ، یا اگه دوستان می دونن لطف کنن پاسخ بدن ممنون می شم چون میدونم این مشکل خیلی ها است.

rozgol
یک شنبه 12 دی 1389, 16:19 عصر
ميتونيد از يك UpdatePanel استفاده كنيد و در زمان لود از UpdateProgress استفاده كنيد
براي اين كار هم ميتونيد از اشكال مختلف UpdateProgress استفاده كنيد كه چند نمونه در Telerike q3 2010 وجود داره
من می خوام وقتی wait می یاد دیگه نتونه کار دیگه انجام بده مثلا چیزی کلیک کنه از UpdateProgress استفاده میکنم اینطوری نمی شه
Telerike q3 2010 کجاست؟

ایمان مدائنی
یک شنبه 12 دی 1389, 16:42 عصر
من نميدونم كجاست ؟
بايد سرچ كني تا پيداش كني

prankster
یک شنبه 12 دی 1389, 21:57 عصر
من معمولا از یک div روی کل صفحه استفاده می کنم، زمانی که می خواهم صفحه غیر فعال شود آنرا visible و پس از آن hidden می کنم...
برای ایجاد div متدی مثلا با نام CreateModalFrame ایجاد می کنم:


function CreateModalFrame() {

var ModalFrame = document.createElement("div");

ModalFrame.style.cssText = "width:100%; height:100%; top:0px; left:0px; position:absolute; display:none; z-index:999999;background-color: #000000;opacity: .10;-moz-opacity: .10;filter: alpha(opacity=10);";
document.body.appendChild(ModalFrame);

function $Show() {
ModalFrame.style.display = "";
document.body.style.overflow = "hidden";
};

function $Hide() {
ModalFrame.style.display = "none";
document.body.style.overflow = "";
};

return { hide: $Hide, show: $Show };
};حالا مثلا برای نشان دادن div برای 2 ثانیه:


window.onload = function () {
var modal = CreateModalFrame();
modal.show();
setTimeout(function () { modal.hide(); }, 2000);
};

تقریبا در تمام مرورگرها بدون مشکل است

rozgol
دوشنبه 13 دی 1389, 14:42 عصر
ممنون از لطفتون prankster (http://barnamenevis.org/member.php?99289-prankster)

قسمت show این تابع خیلی خوب جواب داد ولی نمی دونم چرا قسمت hide انجام نمی شه البته رو کد خود شما انجام می شه ولی وقتی من اون رو بعد از اجرای یکسری عملیات قرار می دم که hide اجرا بشه وdiv زیریش نشون بده نمی شه داخل تابعش هم می ره ولی div که create شده را بر نمی داره .
لطفا کمکم کنید .

prankster
دوشنبه 13 دی 1389, 20:45 عصر
دقت کنید که متد CreateModalFrame را دو بار فراخوانی نکنید، برای رفع احتمالی این مشکل می توانید متد CreateModalFrame را به صورت زیر اصلاح کنید:

function CreateModalFrame() {

var ModalFrame = document.getElementById("ModalFrameDiv");
if (!ModalFrame) {
var ModalFrame = document.createElement("div");

ModalFrame.id = "ModalFrameDiv";
ModalFrame.style.cssText = "width:100%; height:100%; top:0px; left:0px; position:absolute; display:none; z-index:999999;background-color: #000000;opacity: .10;-moz-opacity: .10;filter: alpha(opacity=10);";
document.body.appendChild(ModalFrame);
}

function $Show() {
ModalFrame.style.display = "";
document.body.style.overflow = "hidden";
};

function $Hide() {
ModalFrame.style.display = "none";
document.body.style.overflow = "";
};

return { hide: $Hide, show: $Show };
};تست:


CreateModalFrame().show();
CreateModalFrame().show();
CreateModalFrame().show();
CreateModalFrame().hide();