Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   изменение контента в зависимости от слайда (https://javascript.ru/forum/misc/43958-izmenenie-kontenta-v-zavisimosti-ot-slajjda.html)

iskander83 28.12.2013 05:14

изменение контента в зависимости от слайда
 
Друзья есть некий слайдер
в нем есть переменная
self.currentFrameID
которая равняется как вы поняли текущему слайду...
в действии можно глянуть здесь http://goodpotolok.com/test/
при нажатии на красный квадратик посредине должен выскочить алерт с номером слайда
Задача менять бекграунд подложеного дива в зависимости от слайда!!!
пытаюсь так но не выходит
curent = $("#slider_top_wrap");
	if(self.currentFrameID = 1){curent.css({"background":"red"});}
	if(self.currentFrameID = 2){curent.css({"background":"yellow"});}
	if(self.currentFrameID = 3){curent.css({"background":"blue"});}
	if(self.currentFrameID = 4){curent.css({"background":"#000"});}

почему то сразу последний иф выполняется...

Antonius 28.12.2013 05:18

А вы точно хотите выполнять в условии присваивание, а не сравнение?

У вас сейчас срабатывают все условия, и, естественно, вы видите результат выполнения последней ветки.

iskander83 28.12.2013 13:36

странно, но так
curent = $("#slider_top_wrap");
	if(self.currentFrameID == 1){curent.css({"background":"red"});}
	if(self.currentFrameID == 2){curent.css({"background":"yellow"});}
	if(self.currentFrameID == 3){curent.css({"background":"blue"});}
	if(self.currentFrameID == 4){curent.css({"background":"#000"});}

вообще не срабатывает...
бекграунд остается тот который прописан в стилях

iskander83 28.12.2013 13:44

вернее все работает, но только если вставить эти условия например в событие...
$('.knnn').click(function() {
	alert(self.currentFrameID)				 
				 curent = $("#slider_top_wrap");
	if(self.currentFrameID == 1){curent.css({"background":"red"});}
	if(self.currentFrameID == 2){curent.css({"background":"yellow"});}
	if(self.currentFrameID == 3){curent.css({"background":"blue"});}
	if(self.currentFrameID == 4){curent.css({"background":"#000"});}	
	});


а как сделать чтоб условия срабатывали сами? без клика?

Antonius 28.12.2013 16:15

А в какой момент они тогда должны будут сработать?

iskander83 28.12.2013 16:28

Посмотри пожалуйста сейчас http://goodpotolok.com/test/
щас повесил на кнопку next, но почему то криво срабатывает - не всегда

почему?

iskander83 28.12.2013 16:30

или думаю как вариант можно зациклить все это действо чтоб допустим проверялся id слайда раз в полсекунды и тогда выполнялось условие?
тока как?

Vlasenko Fedor 29.12.2013 00:45

function next(items) {
    var max = items.length - 1,
        i = -1;
    return function () {
        i = i < max ? i + 1 : 0;
        return items[i];
    };
}

var color = next(['red', 'green', 'blue']);
alert(color());
alert(color());
alert(color());
alert(color());


Часовой пояс GMT +3, время: 13:20.