2012-02-12 2 views
0

У меня есть эта функция JavaScript для отображения последовательности фоновых изображений. Я хочу изменить последовательность для каждой страницы с помощью php. В этом случае я хочу подставить x в bg_x_ps.jpg с номером в диапазоне от 1 до 8. Каждый фон должен иметь уникальный номер.Изменение последовательности фоновых изображений

$.vegas('slideshow', { 
    delay: 34000, 
    backgrounds: [ 
     { src: "http://sionvalais.com/images/bg_2_ps.jpg", fade: 4000 }, 
     { src: 'http://sionvalais.com/images/bg_4_ps.jpg', fade: 4000 }, 
     { src: 'http://sionvalais.com/images/bg_5_ps.jpg', fade: 4000 }, 
     { src: 'http://sionvalais.com/images/bg_7_ps.jpg', fade: 4000 } 
    ] 
})('overlay'); 
+0

Почему вы хотите использовать PHP в замене номера, а не просто использовать сам Javascript? – iDifferent

+0

Вы что-то пробовали? –

ответ

1

Попробуйте что-то вроде:

$(document).ready(function() { 

... 

var indices = [], x; 
while(indices.length < 4) { 
    x = parseInt(Math.ceil(Math.random() * 8), 10); 
    x = (x == 0) ? 1 : x; 
    if(indices.indexOf(x) == -1) indices.push(x); 
} 

$.vegas('slideshow', { 
    delay: 34000, 
    backgrounds: [ 
     { src: "http://sionvalais.com/images/bg_"+indices[0]+"_ps.jpg", fade: 4000 }, 
     { src: "http://sionvalais.com/images/bg_"+indices[1]+"_ps.jpg", fade: 4000 }, 
     { src: "http://sionvalais.com/images/bg_"+indices[2]+"_ps.jpg", fade: 4000 }, 
     { src: "http://sionvalais.com/images/bg_"+indices[3]+"_ps.jpg", fade: 4000 } 
    ] 
})('overlay'); 

... 

}); 
+0

Если бы я хотел показать 4 последовательности (изображения) из 12 изображений. Нужно ли менять 8 до 12? – mark

+0

Да, вы можете изменить 8, чтобы соответствовать общему количеству изображений, которые у вас есть в последовательности. – techfoobar

0

Просто создайте свой порядок изображений в массиве PHP. Затем проанализируйте его на json (возможно, с json_encode()) и отправьте его на ваш javascript.

Смежные вопросы