ورود

View Full Version : سوال: درخواست کمک راجب این کد



theboy
چهارشنبه 25 دی 1392, 12:04 عصر
سلام.
من یه صفحه دارم که توش حاوی تعدادی تگ p با id های مختلف هست.
میخوام هر وقت روی هرکدوم از این تگ ها کلیک شد موزیک مروبط به اون تگ پخش بشه.
برای اینکار من از پلاگین IWishQuery استفاده کردم. که می تونید از این لینک برای دسترسی به کدهای کامل استفاده کنید:
http://code.internuts.se/jquery/iwish/

این پلاگین کارش اینه که یه آهنگ تو کدش بنویسی و اون پخش کنه، من برای کارم تغییرش دادم.

(درضمن در کدهای زیر $("autio") همون تگ <autio> هست.( با لینک بالا چک کنید متوجه میشید ;) )

کد اصلی:

$(document).ready(function () {
// Call the function with the filename skee-lo_i-wish and autoPlay to either true or false
$("audio").iWish({audioSource: "skee-lo_i-wish", autoPlay: true});
});

تغییری که من دادم:


$(document).ready(function () {
// Call the function with the filename skee-lo_i-wish and autoPlay to either true or false
$("p.play").click(function(test){
$("audio").iWish({audioSource: (this).id, autoPlay: true});
$("audio").show();
});
});


و اما مشکل، من روی هر تگ p که برای اولین بار کلیک می کنم آهنگ اون رو پخش می کنه ولی دیگه نمیشه کلیک کرد، یعنی الان صفحه تازه باز شده، روی یکی از pها کلیک می کنم و آهنگ اون پخش میشه، دیگه اگر روی p دیگه ای کلیک کنم آهنگش پخش نمیشه!

ممنون میشم در حل مشکل کمک کنید.

theboy
پنج شنبه 26 دی 1392, 01:08 صبح
دوستان خیلی برام مهمه. ممنون میشم وقت بذارید ;)

theboy
پنج شنبه 26 دی 1392, 09:16 صبح
این مشکل رو خودم حل کردم فقط لطفا یکی در این مورد کمک کنه:
من چند تا تگ span دارم که idشون آدرس آهنگ، الان کاری کردم که با کلیک روی هر span آیدی اون بشه src و آهنگ پخش بشه، حالا چطور می تونم کاری کنم که مثلا اگر روی span دوم کلیک شد، idهای دوم به بعد گرفته بشن و توی موزیک پلیر به ترتیب پخش بشن؟
دیگه از پلیر بالا استفاده نمی کنم و از <audio> خود html استفاده می کنم.

meisam3322
پنج شنبه 26 دی 1392, 10:00 صبح
$('#_defcommercial .comercialInDV:nth-child(1)').fadeIn(500);


کد بالا اولین فرزند از کلاس comercialInDV رو FadeIn میکنه

meisam3322
پنج شنبه 26 دی 1392, 10:03 صبح
شما میتونید با استفاده از دستور length تعداد span ها رو بدست بیارید. با توجه به span کلیک شده (فرض کنیم 2 باشد) از کل کم میشه حالا با دستور nth:child از 2 تا مجموع رو پیدا میکنید.

theboy
پنج شنبه 26 دی 1392, 12:21 عصر
ممنون ولی مشکل اصلی من اینه که چطوری کاری کنم که مثلا بعد اینکه آهنگ SPAN دوم پخش شد و تموم شد، آهنگ سوم پخش بشه و...

Javidhb
پنج شنبه 26 دی 1392, 13:38 عصر
باید از 'ended (http://www.w3schools.com/tags/av_prop_ended.asp)' استفاده کنید:

audio.addEventListener('ended', function(){
//play next audio
});


برای پیدا کردن span بعدی هم، کافیه از ()eq جی کوئری استفاده کنید:

var currentTrack = 0;
var audio = '';//هرجوری که آهنگ رو انتخاب میکنید

$('audio').addEventListener('ended', function(){
var nextTrack = currentTrack++;
$('audio').eq(nextTrack).play();
});


اگه بازم مشکلی بود، html رو هم بزار، تا دقیقتر راهنمایی کنیم...