jQuery: عنصر تحرك حسب القيمة النسبية
سؤال
(بمعنى القيمة اليسارية عناصر): ما هي أسهل طريقة لتحريك عنصر - على سبيل المثال. 10px إلى اليسار (من وضعه الحالي)؟
شكرًا
المحلول
قد يكون أن jQuery مبالغة وأن يضع الهامش -اليسار: -10px سيفعل الخدعة.
يمكنك الحصول على إزاحة عنصر () بالنسبة إلى المستند: http://docs.jquery.com/css/offset
هذا سيعطيك اليسار ، أعلى ، إلخ.
ثم قد تضطر إلى وضع العنصر باستخدام CSS مثل ذلك.
subMenu.css({
position: 'absolute',
zIndex: 5000,
left: left,
top: top
});
نصائح أخرى
فيما يلي مثال سريع باستخدام jQuery:
$("#el").css({
left: $("#el").position().left - 10 + "px"
});
ملاحظة: يجب وضع العنصر الذي تريد نقله إما على الإطلاق أو نسبيًا.
على افتراض أن العنصر الخاص بك يحتوي على معرف "mylement":
$('#myElement').css(
{
'position': 'relative',
'left': '-10px'
});
اعتبارا من 1.6 يمكنك استخدام القيم النسبية في css()
لذلك يمكنك استخدام هذا:
$('#myElement).css( "left", "+=15" );
طالما أن العنصر لديه بالفعل قيمة محددة ل left
وموقع تماما.
المرجع: http://api.jquery.com/css/
نظرًا لأن أيًا من الإجابات الأخرى هي حلول حقيقية على غرار jQuery ، فسوف أقوم بإحياء هذه القضية القديمة.
يمكن أن يحرك هذا الحل جميع العناصر المحددة بقيمة نسبية:
$('.selected').each(function() {
$(this).css({ left: $(this).position().left - 10 });
});