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, время: 17:38. |