k_ce_esf
دوشنبه 27 شهریور 1391, 08:36 صبح
با عرض پوزش عنوان سوال "اشکال در دادن همزمان effect به جند div " است که اشتباه شد و ویرایش هم نمیشه
با سلام.
من توی صفحم چندین div دارم. div های اصلیم دارای id های 1و2و3و... هستند.درون هریک از این div ها یک div دارم که display آنها none است.id این div های داخلی را با توجه به div اصلی که درشون هست به صورت 1_d,
2_d,... دادم،مثلا id مربوط به div داخلی div با id :1 را 1_d گذاشتم.
میخوام یه effect روی mouseenter , mouseleave هریک از این div های اصلی بذارم که div های داخلیم را show , hide کنه.
اگه به صورت زیر عمل کنم جواب میده :
$("#" + 1).mouseenter(function () {
$("#" + 1 + '_d').stop(true, true).show('clip');
}).mouseleave(function () {
$('#' + 1 + '_d').stop(true, true).hide('clip');
});
$("#" + 2).mouseenter(function () {
$("#" + 2 + '_d').stop(true, true).show('clip');
}).mouseleave(function () {
$('#' + 2 + '_d').stop(true, true).hide('clip');
});
اما اگه همین کار را با حلقه forانجام بدم نتیجه نمیده :
for (var i = 1; i < 3; i++) {
var item_d = i + '_d';
$("#" + i).mouseenter(function () {
$("#" + item_d).stop(true, true).show('clip');
}).mouseleave(function () {
$('#' + item_d).stop(true, true).hide('clip');
});
}
اشکالش چیه؟
درضمن این effect ها را وقتی به این صورت تعریف میکنم در fire fox ،وقتی با موس روی div ها میرم به جای اینکه یه بار effect اجرا شه مدام این effect ادامه پیدا میکنه و stop نمیشه،چه کار کنم که این مشکل حل شه؟
خواهش میکنم کمکم کنید،کارم رو این مورد گیر کرده هرکاریم میکنم حل نمیشه:گریه:
خیلی ممنون
با سلام.
من توی صفحم چندین div دارم. div های اصلیم دارای id های 1و2و3و... هستند.درون هریک از این div ها یک div دارم که display آنها none است.id این div های داخلی را با توجه به div اصلی که درشون هست به صورت 1_d,
2_d,... دادم،مثلا id مربوط به div داخلی div با id :1 را 1_d گذاشتم.
میخوام یه effect روی mouseenter , mouseleave هریک از این div های اصلی بذارم که div های داخلیم را show , hide کنه.
اگه به صورت زیر عمل کنم جواب میده :
$("#" + 1).mouseenter(function () {
$("#" + 1 + '_d').stop(true, true).show('clip');
}).mouseleave(function () {
$('#' + 1 + '_d').stop(true, true).hide('clip');
});
$("#" + 2).mouseenter(function () {
$("#" + 2 + '_d').stop(true, true).show('clip');
}).mouseleave(function () {
$('#' + 2 + '_d').stop(true, true).hide('clip');
});
اما اگه همین کار را با حلقه forانجام بدم نتیجه نمیده :
for (var i = 1; i < 3; i++) {
var item_d = i + '_d';
$("#" + i).mouseenter(function () {
$("#" + item_d).stop(true, true).show('clip');
}).mouseleave(function () {
$('#' + item_d).stop(true, true).hide('clip');
});
}
اشکالش چیه؟
درضمن این effect ها را وقتی به این صورت تعریف میکنم در fire fox ،وقتی با موس روی div ها میرم به جای اینکه یه بار effect اجرا شه مدام این effect ادامه پیدا میکنه و stop نمیشه،چه کار کنم که این مشکل حل شه؟
خواهش میکنم کمکم کنید،کارم رو این مورد گیر کرده هرکاریم میکنم حل نمیشه:گریه:
خیلی ممنون