سؤال

الصفحة التي تعاني من مشاكل ...http://schnell.dreamhosters.com/index.php؟page=gallery#

أستخدم Firebug لتصحيح أخطاء jQuery الخاص بي وغيرها من الكود ، وقد أثبتت أنها مفيدة للغاية لتصحيح أخطاء JavaScript/jQuery. ومع ذلك ، في الوقت نفسه ، كانت واحدة من أكثر تجارب تصحيح الأخطاء المحبطة التي مررت بها على الإطلاق. لست متأكدًا من السبب ، لكن في بعض الأحيان يبدو أنه يمكنني نسخ منهجية شخص آخر من برنامج تعليمي ، وشخصية للشخصية ، ومع ذلك لا يزال هناك أخطاء.

في أي حال ، فإن المشكلة هنا هي أن Firebug تدعي وجود خطأ في السطر 20 من المصدر.

مفقود: بعد معرف الخاصية [كسر في هذا الخطأ] $ ('#جدول). تحريك ({"اليسار:" + attr + "px"} ، 2000) ؛ n

هذا الخطأ يبدو وكأنه حمولة ضخمة بالنسبة لي لأن القولون هناك! وهذا هو السبب في أن تصحيح الأخطاء jQuery/JavaScript هو مثل هذا الألم في بعض الأحيان. رسائل الخطأ معقدة إلى حد ما وأحيانًا لا تكون لها معنى بالنسبة لي. أو ربما هذا مجرد firebug.

في كلتا الحالتين ، الهدف الذي سأذهب إليه هنا هو أنني أحاول تغيير الوظيفة المتحركة بشكل ديناميكي بحيث كلما انقرت على السهم الأيسر ، كلما تم تحويل شبكة الصور (بسبب طبيعة CSS خاصية "اليسار"). لديّ متغيرات JavaScript وعلامة إدخال خفية للمساعدة في الاحتفاظ بالقيم الأساسية ، ولكن العقبة الرئيسية هي الحصول على وظيفة تحريك للتعرف على هذه المتغيرات. بالقرب من أن أقول أنه لن يقبل سوى حرفيات السلسلة عن الحجج حول كيفية التحريك ولا تساعدني الوثائق لأنها لا تناقش استخدام المتغيرات مع تحريك ، كما لو كان مستحيلًا.

حسنًا ، دعنا نقول فقط أنني لا أحب المستحيل ، فهو يحب أن يعترض طريقي كثيرًا.

هل كانت مفيدة؟

المحلول

الكائن الحرفي الذي تم تمريره إلى الوظيفة المتحركة لم يتم تشكيله جيدًا ، يجب أن يكون:

$('#table').animate({left: attr + "px"}, 2000);

يحرر: بالنظر عن كثب إلى الكود الخاص بك ، فأنت تحاول أيضًا الحصول على قيمة من إدخال مع ID = "COUNT" ، ولديك حرف # مفقود للحصول على محدد معرف:

var count = +$('#count').val(); // get #count value as Number

أنت أيضًا تقوم بزيادة هذا count متغير ، ولكن يجب عليك أولاً تحويله إلى رقم ، لأن value سمة input العناصر سلسلة. ((لقد فعلت ذلك باستخدام مشغل Unary Plus على الجانب الأيمن من المهمة).

يجب عليك تحويله إلى رقم ، لأنه إذا كنت يضيف متغيران وواحد منهما هو سلسلة ، سيحدث تسلسل:

 "1" + 1 == "11"

نصائح أخرى

محاولة:

$('#table').animate({left: attr}, 2000);

وحدات "PX" من القياس هنا ليست ضرورية. إلى جانب ذلك ، فإن ما سبق هو الخلق الصحيح لكائن مجهول. كنت فقط تضع سلسلة داخل أقواس مجعد.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top