مسج: Incrimentation لكل مجموعة من العناصر في أكثر من 1 شعبة

StackOverflow https://stackoverflow.com/questions/2462321

  •  20-09-2019
  •  | 
  •  

سؤال

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

وهنا هو رمز لإضافة سمات إلى الإبهام والصور الكبيرة:

thumbNo = 0;
largeNo = 0;
$('.slideshow_content .thumbs img').each(function() {            
   thumbNo++;
   $(this).attr('thumbimage', thumbNo);
   $(this).attr("title", "Enter image gallery");
});
$('.slideshow_content .image_container .holder img').each(function() {   
   largeNo++;
   $(this).addClass('largeImage' + largeNo);
});

وهذا يعمل. لجعل عمل incrementation عندما يكون هناك نوعان من عرض الشرائح على صفحة، اعتقدت أنني يمكن أن عصا هذا الرمز في كل وظيفة ...

$('.slideshow').each(function() {
    thumbNo = 0;
    largeNo = 0;
    $(this + '.slideshow_content .thumbs img').each(function() {            
       thumbNo++;
       $(this).attr('thumbimage', thumbNo);
       $(this).attr("title", "Enter image gallery");
    });
    $(this + '.slideshow_content .image_container .holder img').each(function() {   
       largeNo++;
       $(this).addClass('largeImage' + largeNo);
    });
});

والمشكلة مع ذلك هو أن المشغل incrimenting عدم إعادة تعيين لشعبة الشرائح الثاني (.slideshow)، لذلك أنا في نهاية المطاف مع الابهام في أول .slideshow معدودة شعبة يجري 1،2،3 الخ .. والابهام في ثاني .slideshow معدودة شعبة يجري 4،5،6 الخ كيف أقوم بإجراء الأرقام في الثانية .slideshow شعبة إعادة تعيين وتبدأ من 1 مرة أخرى؟

وهذا هو في الحقيقة من الصعب شرح بإيجاز. وآمل أن يحصل على جوهر.

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

المحلول

في الخاص بك كل، والنزول إلى مستوى، تأكد من انها راقب كل الشرائح مثل هذا:

$('.slideshow_content').each(function() {
    thumbNo = 0;
    largeNo = 0;
    $(this).find('.thumbs img').each(function() {
       $(this).attr('thumbimage', thumbNo++);
       $(this).attr("title", "Enter image gallery");
    });
    $(this).find('.image_container .holder img').each(function() {   
       $(this).addClass('largeImage' + largeNo++);
    });
});

وهذه مجموعات منهم إلى 0 داخل كل كتلة .slideshow_content وحلقات داخله بدلا من تعيينها بشكل عام ومن ثم حلقات من خلال جميع الكتل.

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