PDA

View Full Version : عمل نکردن OnMouseOut



mohsen.dbnet
شنبه 21 فروردین 1389, 22:21 عصر
با عرض سلام خدمت دوستان


توی این برنامه ای که در زیر آمده سعی دارم که:

یک متنی رو بدون استفاده از jquey و امسال آن یک متنی در صفحه به صورت آرام چشمک بزنه
و وقتی Mouse روی اون قرار می گیره این متن در حال چشمک زن سریع تر چشمک بزنه و وقتی از روی اون خارج می شه سرعت چشمک زنی اش به حال اولیه برگرده.

مشکلات:
1- منتها برنامه وقتی Mouse از روی اون خارج می شه این اتفاق نمی افته.
2- در ضمن این متن در IE هیچ عملکردی نداره.

حالا از دوستان راهنمایی می خواهم که چطور این دو موررو حل کنم

با تشکر



کد برنامه:



<html xmlns="http://www.w3.org/1999/xhtml">

<head>
<link id="iconimg" rel="icon" href="smile.png" />
<title>Main Page</title>
<script type="text/javascript">
function inout(del){
var i = .1;
window.setInterval(function(){
i += .1;
if (i >= 1)
i = .01;
document.getElementById("d1").style.opacity=i;
},del);
}
</script>
</head>

<body onLoad="inout(50);">
<div id="d1">
<a href="#" onMouseOver="inout(5);" onMouseOut="inout(50);">
<h4>
http://barnamenevis.org
</h4>
</a>
</div>
</body>
</html>

exlord
یک شنبه 22 فروردین 1389, 09:29 صبح
opacity تو IE جواب نمیده ...

filter: alpha(opacity = 50);از 1 تا 100
در ضمن برای عمل کردن صحیح در IE تگت حتما باید طول و عرض براش تعریف شده باشه...
در مورد عمل نکردن onmouseout ... چون Interval رو clear نمی کنی با همون Intervale قبلی کارشو ادامه میده ....


<html>
<head>
<title>Main Page</title>
<script type="text/javascript">
var interval;
function inout(del) {
clearInterval(interval);
var i = 10;
interval = window.setInterval(function () {
i += 10;
if (i >= 100)
i = 10;

var object = document.getElementById("d1").style;
object.opacity = i / 100;
object.filter = "alpha(opacity=" + i + ")";

}, del);

}
</script>
</head>
<body onload="inout(50);">
<div id="d1" style="width: 100px; height: 30px;">
<h4>
<a href="#" onmouseover="inout(5);" onmouseout="inout(50);">
barnamenevis.org </a>
</h4>
</div>
</body>
</html>

mohsen.dbnet
یک شنبه 22 فروردین 1389, 17:52 عصر
خیلی ممنون از توجهتون

فقط مهندس ، شما با این خط


object.filter = "alpha(opacity=" + i + ")";
این تفکرو به من القا می کنید که هر خصوصیت CSS از یک تا سه گرفته در هر مرورگری که
استاندارد اونم از W3C نشات می گیره یه جورایی با شکل و شمایا مختلف وجود داره

یا این طوری بگم : هر خصوصیت CSS ی که در مرورگری اجراشو دیدم مطمئن باشم که معادل
اون در مرورگرهای دیگه وجود داره منتها شاید به یه شکل دیگه.

آیا به نظرتون این حرف درسته؟

exlord
یک شنبه 22 فروردین 1389, 22:26 عصر
خیلی ممنون از توجهتون

فقط مهندس ، شما با این خط


object.filter = "alpha(opacity=" + i + ")";
این تفکرو به من القا می کنید که هر خصوصیت CSS از یک تا سه گرفته در هر مرورگری که
استاندارد اونم از W3C نشات می گیره یه جورایی با شکل و شمایا مختلف وجود داره

یا این طوری بگم : هر خصوصیت CSS ی که در مرورگری اجراشو دیدم مطمئن باشم که معادل
اون در مرورگرهای دیگه وجود داره منتها شاید به یه شکل دیگه.

آیا به نظرتون این حرف درسته؟

تقریبا ولی نه همیشه ... به جز IE بقیه browser ها تقریبا یکسانن .....
البته برای جلوگیری از این مشکلات میتونی از framework های آماده مثل jquery , mootools استفاده بکنی که با همه browser ها سازگار باشن...