PDA

View Full Version : مشکل با رویداد hover در html



woeful
شنبه 18 شهریور 1391, 16:29 عصر
سلام دوستان

کد زیر رو ببینین :

<html>
<head>
<style>

.sideelement{
position:fixed;
width:260px;
height:80px;
background: rgba(0, 0, 0, 0.6);
text-align: center;
vertical-align: middle;
line-height: 20px;
vertical-align:text-bottom;
text-decoration: none;
font-family: Tahoma, Arial, sans-serif;
font-weight: normal;
color: #f3f3f3;
text-shadow: 4px 4px 4px rgba(0,0,0,.6);
transition: width .5s, opacity .5s , background-color .5s;
-moz-transition: width .5s, opacity .5s , background-color .5s;
-webkit-transition: width .5s, opacity .5s , background-color .5s;
-o-transition: width .5s, opacity .5s , background-color .5s;
}

.sideelement:hover
{
width:280px;
cursor:pointer;
background: rgba(240, 50, 80, 0.6);
}
</style>

<script language="javascript">
function dothat()
{
var div = document.getElementById('me');
if(div.style.width == '400px')
{
div.style.width = '260px';
}
else
{
div.style.width = '400px';
}
}

</script>
</head>
<body>

<div class="sideelement" id="me">

</div>

<br><br><br><br><br>
<div onclick="dothat();">
click me
</div>


</body>
</html>

اگه این کدو اجرا کنید یه box میبینید که وقی موسو روش میبریم خاصیت width رنگی زمینه و opacity اون زیاد میشه (برای بار اول ) اما وقتی روی click me دوبار کلیک میکنیم تا box به حالت اول برگرده وقتی موسو روی box میبریم خاصیت width اون تغییر نمیکنه در صورتی که رنگ زمینه و opacity اون تغییر میکنه مشکل کار کجاست ؟

ممنون

meisam12
دوشنبه 20 شهریور 1391, 16:32 عصر
سلام
من کد را به صورت زیر تغییر دادم و درست شد.

<html>
<head>
<style>

.sideelement{
position:fixed;
width:260px;
height:80px;
background: rgba(0, 0, 0, 0.6);
text-align: center;
vertical-align: middle;
line-height: 20px;
vertical-align:text-bottom;
text-decoration: none;
font-family: Tahoma, Arial, sans-serif;
font-weight: normal;
color: #f3f3f3;
text-shadow: 4px 4px 4px rgba(0,0,0,.6);
transition: width .5s, opacity .5s , background-color .5s;
-moz-transition: width .5s, opacity .5s , background-color .5s;
-webkit-transition: width .5s, opacity .5s , background-color .5s;
-o-transition: width .5s, opacity .5s , background-color .5s;
}

.sideelement:hover
{
width:280px;
cursor:pointer;
background: rgba(240, 50, 80, 0.6);
}
</style>

<script language="javascript">
function dothat()
{
var div = document.getElementById('me');
if(div.style.width == '400px')
{
div.style.width = '260px';
alert("YES");
}
else
{
div.style.width = '400px';
}
}

</script>
</head>
<body>

<div class="sideelement" <html>
<head>
<style>

.sideelement{
position:fixed;
width:260px;
height:80px;
background: rgba(0, 0, 0, 0.6);
text-align: center;
vertical-align: middle;
line-height: 20px;
vertical-align:text-bottom;
text-decoration: none;
font-family: Tahoma, Arial, sans-serif;
font-weight: normal;
color: #f3f3f3;
text-shadow: 4px 4px 4px rgba(0,0,0,.6);
transition: width .5s, opacity .5s , background-color .5s;
-moz-transition: width .5s, opacity .5s , background-color .5s;
-webkit-transition: width .5s, opacity .5s , background-color .5s;
-o-transition: width .5s, opacity .5s , background-color .5s;
}

.sideelement:hover
{
width:280px;
cursor:pointer;
background: rgba(240, 50, 80, 0.6);
}
</style>

<script language="javascript">
function dothat()
{
var div = document.getElementById('me');
if(div.style.width == '400px')
{
div.style.width = '260px';
}
else
{
div.style.width = '400px';
}
}

</script>
</head>
<body>
<div id="me" onclick="dothat();">
click me
</div>
</body>
</html>

woeful
پنج شنبه 23 شهریور 1391, 12:31 عصر
سلام

ممنون از پاسخت

فک میکنم اشتباه نوشتی کد ها رو من تاحالا ندیدم یه کد html دو تا تگ head و body داشته باشه نگو که این یه روشه که همه استفاده میکنن :D
در هر صورت من این کدو با پسوند html سیو کردم با بروز که بازش میکنم بازم درست نشده توی کد شما متن click me بل کلیک این ور اون ور میشه من میخام اون دایو صورتی وقتی موس میره روش اندازش بشه ۲۸۰ پیکسل و وقتی روی click me کلیک میشه اندازش بشه ۴۰۰ پیکسل ولی وقتی ما یه بار روی click me کلیک میکنیم دیگه وقتی موس میره روی دایو اندازش نمیشه ۲۸۰ پیکسل و هیچ تغییری نمیکنه

شما کد خودتو یه بار سیو کن ببین

بازم ممنون از پاسختون
Woeful