View Full Version : سوال: Fade کردن آبجکت
ftmotlagh
چهارشنبه 23 مرداد 1387, 14:22 عصر
این کد که آبجکت رو محو می کنه مشکلی داره؟
function fade(oDiv,first) {
if (first = true) {
var opa = 100;
}
var finish = false;
if (opa == 0) {
var finish = true
TogglePreloader(0);
clearInterval(intv);
}
if (finish == false){
opa -= 0.5;
oDiv.filters.alpha.opacity = opa;
var intv = setInterval('fade(oDiv,false)',100);
}
}
امید امرایی
چهارشنبه 23 مرداد 1387, 14:32 عصر
ابتدا اینکه clearInterval هیچ Interval ی بهش ارسال نمی شه
دوم اینکه filters تنها در IE شناخته شدست و مرورگرهای دیگه ازش پشتیبانی نمی کنن
ftmotlagh
چهارشنبه 23 مرداد 1387, 15:12 عصر
باید چیکار کنم تا در بیشتر مرورگرا جواب بده .مگه clearInterval رو وقتی عملیات تمام میشه نمی نویسن؟
امید امرایی
چهارشنبه 23 مرداد 1387, 21:19 عصر
بله ولی باید یک refrence رو بهش ارسال کنید .
var intv = setInterval('doFunction()',2000);
.
.
.
clearInterval(intv);
jaza_sa
چهارشنبه 23 مرداد 1387, 23:22 عصر
برای تعین Opacity در دیگر مرورگر ها باید از کد زیر استفاده کرد :
opacity: 0.5;
اطلاعات بیشتر :
http://barnamenevis.org/forum/showpost.php?p=567187&postcount=7
ftmotlagh
پنج شنبه 24 مرداد 1387, 12:44 عصر
برای کم کردن اپسیتی که در بیشتر مرورگر ها جواب بده از چه خصوصیتی استفاده کنم؟
ftmotlagh
پنج شنبه 24 مرداد 1387, 13:41 عصر
مرسی خودم به یک فانکشن بهتر و کاملتر نوشته ام می زارم تا بقیه هم بفهمن:
function opacity(id, opacStart, opacEnd, millisec) {
//speed for each frame
var speed = Math.round(millisec / 100);
var timer = 0;
//determine the direction for the blending, if start and end are the same nothing happens
if(opacStart > opacEnd) {
for(i = opacStart; i >= opacEnd; i--) {
setTimeout("changeOpac(" + i + ",'" + id + "')",(timer * speed));
timer++;
}
} else if(opacStart < opacEnd) {
for(i = opacStart; i <= opacEnd; i++)
{
setTimeout("changeOpac(" + i + ",'" + id + "')",(timer * speed));
timer++;
}
}
}
//change the opacity for different browsers
function changeOpac(opacity, id) {
var object = document.getElementById(id).style;
object.opacity = (opacity / 100);
object.MozOpacity = (opacity / 100);
object.KhtmlOpacity = (opacity / 100);
object.filter = "alpha(opacity=" + opacity + ")";
}
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.