Babyslam,
без = и свойства добавляйте вне обьекта -- строка 4 внутри не видит строку 3 |
Рони,если я Вас правильно понял, то будет(не до конца понял что Вы имеете в веду):
var elWrap = $('#slider'); var radios = $('#rad'); el = elWrap.find('img'), var Slider = { indexImg : 1, indexMax : el.length, phase : 2000; change() : = function(){ if (document.getElementsByName('rad')[0].checked == true) { var next = el.eq(indexImg-1); el.not(next).animate({"left": v ? -640 : 640 ,opacity: 1},800); next.css({left: v ? 620 : -620}).animate({"left": 20, opacity: 1}, 800) } else if(document.getElementsByName('rad')[1].checked == true) { el.stop(true,true); var next = el.eq(indexImg-1); next.appendTo(elWrap).css({left: v ? 620 : -620}).animate({"left": 20}, 800) } else { el.stop(true,true); var next = el.eq(indexImg-1); el.not(next.animate({opacity: 1}, 800)).animate({opacity: 0},800); } } } Или сделать так: el = $('#slider')('img'); var Slider = { indexImg : 1, indexMax : el.length, phase : 2000; change() : = function(){ if (document.getElementsByName($('#rad'))[0].checked == true) { var next = el.eq(indexImg-1); el.not(next).animate({"left": v ? -640 : 640 ,opacity: 1},800); next.css({left: v ? 620 : -620}).animate({"left": 20, opacity: 1}, 800) } else if(document.getElementsByName($('#rad'))[1].checked == true) { el.stop(true,true); var next = el.eq(indexImg-1); next.appendTo($('#rad')).css({left: v ? 620 : -620}).animate({"left": 20}, 800) } else { el.stop(true,true); var next = el.eq(indexImg-1); el.not(next.animate({opacity: 1}, 800)).animate({opacity: 0},800); } } } |
Цитата:
|
Babyslam,
примерно var Slider = { elWrap : $('#slider'), el : Slider['elWrap'].find('img'), indexImg : 1, indexMax : Slider['el'].length, phase : 2000, radios : $('#rad'), change : function(){ if (document.getElementsByName('rad')[0].checked == true) { var next = el.eq(indexImg-1); el.not(next).animate({"left": v ? -640 : 640 ,opacity: 1},800); next.css({left: v ? 620 : -620}).animate({"left": 20, opacity: 1}, 800) } else if(document.getElementsByName('rad')[1].checked == true) { el.stop(true,true); var next = el.eq(indexImg-1); next.appendTo(elWrap).css({left: v ? 620 : -620}).animate({"left": 20}, 800) } else { el.stop(true,true); var next = el.eq(indexImg-1); el.not(next.animate({opacity: 1}, 800)).animate({opacity: 0},800); } } } |
рони
В том ключе действую? var Slider = { elWrap : $('#slider'), el : Slider['elWrap'].find('img'), indexImg : 1, indexMax : Slider['el'].length, phase : 2000, radios : $('#rad'), Slider['elWrap'].append : ('<span class="next"></span><span class="prev"></span>'), btnNext = $('span.next'), btnPrev = $('span.prev'); change : function(){ if (document.getElementsByName('rad')[0].checked == true) { var next = el.eq(indexImg-1); el.not(next).animate({"left": v ? -640 : 640 ,opacity: 1},800); next.css({left: v ? 620 : -620}).animate({"left": 20, opacity: 1}, 800) } else if(document.getElementsByName('rad')[1].checked == true) { el.stop(true,true); var next = el.eq(indexImg-1); next.appendTo(elWrap).css({left: v ? 620 : -620}).animate({"left": 20}, 800) } else { el.stop(true,true); var next = el.eq(indexImg-1); el.not(next.animate({opacity: 1}, 800)).animate({opacity: 0},800); } } bnnext: function(){ btnNext.click(function() { window.clearTimeout(timer) indexImg++; if(indexImg == indexMax) { indexImg = 1; } Slider.change(true); }); } bnprev: function() { btnPrev.click(function() { window.clearTimeout(timer) indexImg--; if(indexImg < 1) { indexImg = indexMax; } Slider.change(); }); } } И var next = el.eq(indexImg-1);нужно ли это менять на next : el.eq(indexImg-1); |
Babyslam,
пока у вас туго, но лучше бы это сделал знающий человек, я могу это сделать, но очень по дилетански (как правильно, делают такие вещи я просто не знаю). а так смотрите ошибки в консоли и думайте. |
рони,да очень туго идет,читаю про объекты и методы,но как-то не очень помогает.
Не могу понять самой сути что и как взаимодействует по этому и туго. |
Все мучаюсь с объектами и свойствами. Есть таймер рабочий,но при добавление объекта slider, таймер не работает.
Про просмотре консоли консоль пишет что elWrap не определенно,ну и дальше следует что el нету и indexMax и next. http://jsfiddle.net/u6onbo5p/3/ |
Часовой пояс GMT +3, время: 08:26. |