таблица jquery next();

 
0
 
JavaScript
ava
evya | 26.09.2013, 09:58
столкнулся с проблемой листинга

есть таблица, необходимо переместить класс class="main" на следующий img отталкиваясь где он установлен.


<table>
<tr>
<td> <img src="1.jpg"></td>
<td> <img src="2.jpg"> </td>
<td> <img class="main"src="3.jpg"> </td>
</tr>
<tr>
<td> <img src="4.jpg"></td>
<td> <img src="5.jpg"> </td>
<td> <img src="6.jpg"> </td>
</tr>
</table>



В рамках одного tr перемещается, а в рамках всей таблицы не хочет. как лучше написать условие




<a href="javascript:void(0);" onclick="next();">Следующий</a>


<script>
function next() {


                        }


</script>


Comments (7)
ava
ksnk | 26.09.2013, 09:52 #
Цитата (evya @  26.9.2013,  08:58 findReferencedText)
В рамках одного tr перемещается, а в рамках всей таблицы не хочет. как лучше написать условие

И как он перемещается в рамках строки?
ava
evya | 26.09.2013, 10:06 #
ksnk,

$('.main').parent('td').next().children('img').addClass('main');
$('.main:last').parent('td').prev().children('img').removeClass('main');

но это в рамках td и как то смущает конструкция
ava
ksnk | 26.09.2013, 10:53 #


function next(){
    var main=$('.main'),
        img_next=$('img',main.parents('td').eq(0).next());
    if(img_next.length==0) {
       img_next = $('img',main.parents('tr').eq(0).next()).eq(0);
    }
    
    if(img_next.length>0) {
       main.removeClass('main');
       img_next.addClass('main');
    }
}
ava
evya | 26.09.2013, 11:50 #
а если мне нужно с 6.jpeg на первый переключиться 1.jpeg
ava
ksnk | 26.09.2013, 11:56 #

function next(){
    var main=$('.main'),
        img_next=$('img',main.parents('td').eq(0).next());
    if(img_next.length==0) {
       img_next = $('img',main.parents('tr').eq(0).next()).eq(0);
    }
    if(img_next.length==0) {
       img_next = $('img',main.parents('table').eq(0));
    }
    
    if(img_next.length>0) {
       main.removeClass('main');
       img_next.addClass('main');
    }
}

ava
evya | 26.09.2013, 18:24 #
спасибо
выручил
ksnk,
ava
evya | 26.09.2013, 19:15 #
ksnk,
а если мы едем в обратную сторону next() меняем на prev();

а eq(0) ?? как понимаю нужно поменять на последний это как определить?
Please register or login to write.
Firm of day
Вы также можете добавить свою фирму в каталог IT-фирм, и публиковать статьи, новости, вакансии и другую информацию от имени фирмы.
Подробнее
Contributors
  ksnk   evya
advanced
Submit