تاریک شدن تمام صفحه تا هنگام لود شدن کامل

overcrash

Active Member
حتما دیدید سایتهایی رو که بازدن یه لینک. تمام صفحه تاریک میشه (اسم دیگه براش پیدا نکردم) و یه پنجره کوچک باز میشه و منتظر لود شدن کامل صفحه میشه
چجوری میشه این تاریک کردن (در پشت قراردادن تمام صفحه درظاهر) رو انجام داد؟
 
سلام

این کاری رو که میگی به 2 روش میشهاز طریق روش AJAX انجام داد که به این صورته که یه کد جاوا اسکریپت مینویس که بیاد یه صفحه رو از طریق یه URL بگیره و کدای HTML رو توی یه مثلا DIV نشون بده ، این کدی رو که اینجا میزارام میتونه این کارو انجام بده . اما اینکه صفحه مات بشه و یه Dialog باز شه رو باید خودت انجام بدی . البته اگه وقت داشته باشم خودم انجام میدم واست اما قول نمیدم .

کد:
var agt = navigator.userAgent.toLowerCase();
var is_ie = (agt.indexOf('msie') != -1);
var is_ie5OrAbove = (agt.indexOf('msie 5') != -1) || (agt.indexOf('msie 6') != -1) || (agt.indexOf('msie 7') != -1);

function CreateXmlHttpReq(handler) 
{
	var xmlhttp = null;
	if (is_ie) 
	{
	    var control = (is_ie5OrAbove) ? "Microsoft.XMLHTTP" : "Msxml2.XMLHTTP";
	    try 
	    {
            xmlhttp = new ActiveXObject(control);
            xmlhttp.onreadystatechange = handler;
	    }
	    catch(e) 
	    {
            alert("You need to enable active scripting and activeX controls");
	    }
	} 
	else 
	{
	    xmlhttp = new XMLHttpRequest();
	    xmlhttp.onload = handler;
	    xmlhttp.onerror = handler;
	}
	return xmlhttp;
}

function DummyHandler() 
{ 

}

var uniqnum_counter = (new Date).getTime();

function XmlHttpGET(xmlhttp, url) 
{
	xmlhttp.open('GET', url, false);
	xmlhttp.send(null);
	return xmlhttp.responseText;
}

function SendRequest(url) {
		var xmlhttp = CreateXmlHttpReq(DummyHandler);
		return XmlHttpGET(xmlhttp, url);
}
 

overcrash

Active Member
ممنون ولی انگار متوجه سوال نشدید!
من Ajax رو بلدم
فقط نحوه تاریک کردن میخوام - فقط -
 
آها . ببخشید

:oops:

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

1 - اول اینکه کل صفحه باید تو یه DIV باشه . یعنی به این شکل
کد:
[LEFT]
<body>
<div id="Page_Content_Div" disabled="false">

Your HTML Code

</div>
</body>
[/LEFT]

خوب . متوجه شدی که ما واسه این لایه یه پراپرتی واسه فعال و غیر فعال شدن قرار دادیم که شما میتونی با کد جاوا تغییر بدی .

حالا واسه اینکه صفحه مات یا به قول شما سیاه بشه یه DIV دیگه میندازم آخرین تگ HTML تا بالا ترین لایه باشه که به این شکل باید باشه در کل ( HTML )

کد:
<body>
    <div disabled="true">
        Sample Text
        <div style="position: absolute; width: 100%; height: 100%; z-index: 1; filter: Alpha(Opacity=10);
            background-color: #C0C0C0; -moz-opacity: 0.65; opacity: 0.65; -khtml-opacity: 0.5;
            left: 0px; top: 0px" id="Tarnsparent_div">
            &nbsp;
            <p>
                Sample text 2</p>
            <p>
                Sample text 2</p>
        </div>
    </div>
</body>

خوب بازم اینجا 2 نکته داریم که یکی
[LTR]
filter:alpha(Opacity=?)
[/LTR]
هست که میزان ترانس پارنت این DIV که قراره صفحه مارو سیاه یا تیره کنه هستش و دوم ویزیبیلیتی که باعث میشه این لایه مشخص یا پنهان باشه .

یه نکته اینکه شما وقتی به حالت AJAX داری پیجت رو Retrive میکنی باید لایه اصلی صفحه رو غیر فعال( دلخواهی ) و این لایه ر, نمایان کنی یعنی این کد رو توی جاوا میزاری

[LTR]
کد:
function ShowHideTarnsparentDIV(div_id)
{
    var nowVisibility=document.getElementById(div_id).style.visibility;
    if(nowVisibility=="false")
    {
        document.getElementById(div_id).style.visibility="false";
    }
    else
    {
        document.getElementById(div_id).style.visibility="true";
    }
}
[/LTR]
بعد که کل صفحه کامل لود شد دوباره این تابع رو اجرا میکنی .

امید وارم که به دردت خورده باشه:cry:
 
شما باید یه دونه div با پس زمینه ی رنگی تعریف کنی که اندازه ی اون به اندازه ی کل صفحه باشه و توی استایل اون خاصیت filter اون رو alpha بزاری و بسته به مقداری که می خوای درصد % بدی

مثل این
کد:
<div  style="background-color:#000000;width:100%;height:100%;filter:alpha(Opacity='50')">
</div>

اون عددی که جلوی Opacity نوشته شده میزان تیرگی اون رو نشون میده
 
مثل اینه که punisher.scorpi زود تر از من پستشو فرستاده
217.gif
230.gif
 

sajjad_eb

Well-Known Member
البته توضیح دوستان کامل بود و حتما به جواب سوال رسیدی . اما یک راه دیگم داری . استفاده از کدهای آماده . اینجا رو حتما یه نگاه بزن :)
 

جدیدترین ارسال ها

بالا