28.04.2015, 19:27
|
|
Профессор
|
|
Регистрация: 27.05.2010
Сообщений: 33,109
|
|
Babyslam,
без = и свойства добавляйте вне обьекта -- строка 4 внутри не видит строку 3
|
|
29.04.2015, 11:21
|
|
Интересующийся
|
|
Регистрация: 25.02.2015
Сообщений: 26
|
|
Рони,если я Вас правильно понял, то будет(не до конца понял что Вы имеете в веду):
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, 29.04.2015 в 11:50.
|
|
29.04.2015, 12:06
|
|
Профессор
|
|
Регистрация: 27.05.2010
Сообщений: 33,109
|
|
Сообщение от Babyslam
|
change() : = function(){
|
|
|
29.04.2015, 12:10
|
|
Профессор
|
|
Регистрация: 27.05.2010
Сообщений: 33,109
|
|
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);
}
}
}
|
|
29.04.2015, 13:07
|
|
Интересующийся
|
|
Регистрация: 25.02.2015
Сообщений: 26
|
|
рони
В том ключе действую?
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);
|
|
29.04.2015, 13:25
|
|
Профессор
|
|
Регистрация: 27.05.2010
Сообщений: 33,109
|
|
Babyslam,
пока у вас туго, но лучше бы это сделал знающий человек, я могу это сделать, но очень по дилетански (как правильно, делают такие вещи я просто не знаю). а так смотрите ошибки в консоли и думайте.
|
|
29.04.2015, 13:43
|
|
Интересующийся
|
|
Регистрация: 25.02.2015
Сообщений: 26
|
|
рони,да очень туго идет,читаю про объекты и методы,но как-то не очень помогает.
Не могу понять самой сути что и как взаимодействует по этому и туго.
|
|
19.05.2015, 16:28
|
|
Интересующийся
|
|
Регистрация: 25.02.2015
Сообщений: 26
|
|
Все мучаюсь с объектами и свойствами. Есть таймер рабочий,но при добавление объекта slider, таймер не работает.
Про просмотре консоли консоль пишет что elWrap не определенно,ну и дальше следует что el нету и indexMax и next. http://jsfiddle.net/u6onbo5p/3/
Последний раз редактировалось Babyslam, 19.05.2015 в 16:37.
|
|
|
|