ورود

View Full Version : مشکل این کد



farazsahebdel
چهارشنبه 29 آبان 1392, 13:19 عصر
$('#a').mouseover(function(){$('#a').css('backgrou nd-color','#9F0')});

$('#a').mouseout(function(){$('#a').css('backgroun d-color','#0000')});

amkherad
چهارشنبه 29 آبان 1392, 13:26 عصر
رنگ دومی چرا #0000 هست؟
يا #000000 و يا #000

farazsahebdel
چهارشنبه 29 آبان 1392, 13:33 عصر
رنگشو ولش کنید من طرز نوشتنشو نمی دونم چه جوری کار می کنه ولی اررور می ده می شه با if درست کرد


$('#a').mouseover(function(){$('#a').css('backgrou nd-color','#CC0')});

$('#a').mouseout(function(){$('#a').css('backgroun d-color','#000')});

amkherad
چهارشنبه 29 آبان 1392, 13:34 عصر
چه اروری ميده؟

farazsahebdel
چهارشنبه 29 آبان 1392, 13:36 عصر
اگه run کنید و تو firebug ببینید می بینید که اررور می ده !

amkherad
چهارشنبه 29 آبان 1392, 13:43 عصر
ارور چی ميده .. متن؟؟
تگی با شناسه ی a داری؟
اگه نداری و ميخوای تمام لينک ها رو انتخاب کنی اين نيست...
بهتره از CSS استفاده کنی

<style scoped>
a{background-color:#f00;}
a:hover{background-color:#0f0;}
</style>

farazsahebdel
چهارشنبه 29 آبان 1392, 13:47 عصر
ارور چی ميده .. متن؟؟
تگی با شناسه ی a داری؟
اگه نداری و ميخوای تمام لينک ها رو انتخاب کنی اين نيست...
بهتره از CSS استفاده کنی

<style scoped>
a{background-color:#f00;}
a:hover{background-color:#0f0;}
</style>



فکر می کنید من این روش رو بلد نیستم !

من می خوام با jquery این کار رو انجام بدم.

amkherad
چهارشنبه 29 آبان 1392, 13:48 عصر
تگی که ID اون a باشه داری؟؟؟؟

اگه ميخوای تمام تگ های a رو انتخاب کنی بايد بنويسی:
$('a').click(function(){alert('on click')});

# برای ID ميباشد:بامزه:

farazsahebdel
چهارشنبه 29 آبان 1392, 14:20 عصر
من با انتخاب کردن که مشکل ندارم من می گم چه جوری می شه این اسکریپت رو اصولی تر نوشت

amkherad
چهارشنبه 29 آبان 1392, 14:25 عصر
دمت گرم بعد از اين همه بحث ؟....

farazsahebdel
چهارشنبه 29 آبان 1392, 14:26 عصر
بابا من می خوام ببینم چه جوری می شه از if استفاده کرد ؟

farazsahebdel
چهارشنبه 29 آبان 1392, 15:14 عصر
کسی نیست کمکم کنه ؟

Javidhb
چهارشنبه 29 آبان 1392, 16:26 عصر
کسی نیست کمکم کنه ؟

شما درست سوالتو بپرس تا کمک کنن...

چه اروری میده؟ (کسی نمیاد کد شما رو ران کنه که ببینه ارورش چیه! یعنی بقیه باید هم مشکلتون رو پیدا کنن هم راه حلشو!!!)

این کد شماست؟ هیچ مشکلی نداره
(http://jsfiddle.net/6WeC8/)
حالا اگه سوال یا مشکلتون چیزه دیگه ایه... واضح مشکلتون یا سوالتون رو بگید

farazsahebdel
چهارشنبه 29 آبان 1392, 20:18 عصر
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>home</title>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript">
$(document).ready(function() {
function faraz(){
$('#a').mouseover(function(){$('#a').css('backgrou nd-color','#CC0')});

$('#a').mouseout(function(){$('#a').css('backgroun d-color','#FFF')});

$( "input[type='submit']" ).click(function() {
$("p#a").remove();
});
}
faraz();
});
</script>

<style>

#a{
border:#9C3 solid 1px;
border-radius:10px;
margin: 4px;
padding:10px;
}


.imgClass {
background-image: url(Untitled-1.jpg);
background-repeat: no-repeat;
background-position: left top;
width: 50px;
height: 50px;
border: 0px;
cursor: pointer;
}
/*.imgClass:hover{
background-position: 0px -52px;
}

.imgClass:active{
background-position: 0px -104px;
}

*/
</style>

</head>

<body>


<p id="a">Hello<input type="submit" class="imgClass" value="" style="margin-left:1250px" /></p>

<p id="a">salam<input type="submit" class="imgClass" value="" style="margin-left:1250px" /></p>
</body>
</html>


این کد کامل اگه اجراش کنید می بینید که اولین <P> ار می کنه ولی دومی کار نمی کنه . چطوری این رو بصورت اسکریپت بنویسم که هر جا لازم شد فقط آدرس دهی کنمش ؟

Javidhb
چهارشنبه 29 آبان 1392, 21:09 عصر
چندتا مورد:
1. id (#) باید برای هر element منحصربه فرد باشه (یعنی دو تا المنت با id مشابه نمیتونی بزاری)
برای اینکاری که شما میخای بکنی باید از class (.) استفاده کنی.

2. برای لود شودن سریعتر صفحه بهتر که اسکریپتها رو پایین صفحه قبل از <body/> بنویسی.





<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>home</title>
<style>
#a{
border:#9C3 solid 1px;
border-radius:10px;
margin: 4px;
padding:10px;
}

.imgClass {
background-image: url(Untitled-1.jpg);
background-repeat: no-repeat;
background-position: left top;
width: 50px;
height: 50px;
border: 0px;
cursor: pointer;
}
/*.imgClass:hover{
background-position: 0px -52px;
}

.imgClass:active{
background-position: 0px -104px;
}

*/
</style>

</head>

<body>

<!-- باید از کلاس استفاده کنید -->
<p class="a">Hello<input type="submit" class="imgClass" value="" style="margin-left:1250px" /></p>
<p class="a">salam<input type="submit" class="imgClass" value="" style="margin-left:1250px" /></p>


<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript">
$(document).ready(function() {
//target => کلاس المنتی که میخای افکت رو بهشت بدی
// توی مثالتون میهش => '.a'
function faraz(target){
$(target).mouseover(function(){$(this).css('backgr ound-color','#CC0')});
$(target).mouseout(function(){$(this).css('backgro und-color','#FFF')});

$( target+" input[type='button']" ).click(function() {
//$(this) => به المنتی که کلیک رو صدا زده اشاره میکنه که همون دکمه هست
// parent(target) => به والد دکمه که دارای کلاس ی که تابع رو باهاش صدا زدی اشاره دار
$(this).parent(target).remove();
});
}


faraz('.a');
});
</script>
</body>
</html>

farazsahebdel
پنج شنبه 30 آبان 1392, 15:28 عصر
ببخشید آخه وقتی رو دکمه کلیک می کنم حذف نمی کنه که !

Javidhb
پنج شنبه 30 آبان 1392, 15:52 عصر
اشتباه از من بود.... برای تستش بجای input از button استفاده کردم... یادم رفت تغییر بدش... ببخشید.

خط 51:


$( target+" input[type='submit']" ).click(function() {



اینم کاملش (http://jsfiddle.net/5q274/1/)

farazsahebdel
پنج شنبه 30 آبان 1392, 16:08 عصر
اشتباه از من بود.... برای تستش بجای input از button استفاده کردم... یادم رفت تغییر بدش... ببخشید.

خط 51:


$( target+" input[type='submit']" ).click(function() {



اینم کاملش (http://jsfiddle.net/5q274/1/)

ببخشید حتما باید بین " input فاصله باشه چون من اون فاصله رو حذف کردم کار نکرد !

Javidhb
پنج شنبه 30 آبان 1392, 18:29 عصر
بله، یکی از راههای انتخاب کردن فرزند یک عنصره

اون فاصله:


$('.a input..')

یعنی تمام input (هایی) که فرزند عناصری که کلاس a. هستن رو انتخاب کن.