JQuery нумерация страниц - PullRequest
0 голосов
/ 12 июля 2011

Я использую некоторые изображения в качестве маркеров нумерации страниц. Я добавляю их в промежуток примерно так.

for(var i=0;i<25;i++){
     if(i==0){
        $('#page').append("<img  src='images/on.gif'/>");
        }
     $('#page').append("<img  src='images/off.gif'/>");
 }

Теперь, когда я нажимаю мои следующие или предыдущие кнопки, мне сначала нужно отключить их все? Затем установите конкретное, скажем, 5 на?

Как я могу изменить их на правильные изображения.

Ответы [ 4 ]

1 голос
/ 12 июля 2011

Забудьте о циклах, это можно сделать с помощью селекторов jQuery. Поместите эти две строки в нужное место в вашем файле JavaScript.

$('#page img[src*="on.gif"]').attr('src','images/off.gif'); // selects all images whose src contains "on.gif" and sets all to off.gif

$('#page img:eq(5)').attr('src','images/on.gif'); // set just the 5th one to on.gif

Это работает?

1 голос
/ 12 июля 2011

да, именно так, как вы сказали, почему вы не попробовали это, прежде чем спросить?Кстати, вот проблема с вашим синтаксисом

for(var i=0;i<25;i++){

, он не должен быть

for(var i=0;i<25s;i++){

РЕДАКТИРОВАТЬ

$("img").click(function(){
      $("img").attr('src', 'images/off.gif');
      $(this).attr('src', 'images/on.gif');
});
0 голосов
/ 12 июля 2011
var currentpage = 0;

$("#next").click() {
    previouspage = currentpage;
    currentpage = previouspage + 1;
    $('#page'+currentpage).append("<img  src='images/on.gif'/>");
    $('#page'+previouspage).append("<img  src='images/off.gif'/>");
}

$("#back").click() {
    previouspage = currentpage;
    currentpage = previouspage - 1;
    $('#page'+currentpage).append("<img  src='images/on.gif'/>");
    $('#page'+previouspage).append("<img  src='images/off.gif'/>");
}

Предполагается, что диапазон, к которому вы добавляете, имеет идентификатор «page0», «page1» и т. Д., А кнопки «Вперед» и «Назад» имеют идентификатор «Далее» и «Назад».

0 голосов
/ 12 июля 2011

Я бы сделал: (при условии, что у вас больше ничего нет в "#page"

var page = $('#page');
for(var i=0;i<25;i++)
{
   page.append("<img src='images/off.gif' />"); //Sets them all to off.
}

$("#page img")
    .click(function(){
        $("#page img").attr("src", "images/off.gif");
        $(this).attr("src", "images/on.gif");
    }) //event handler to set this one to on.
    .first().attr("src", "images/on.gif"); // Sets the first one on by default

Если у вас есть что-то внутри "#page", просто присвойте изображениям класс и будьте более конкретны в коде.

...