Скрипт отказывается работать в последней версии jQuery
Здравствуйте!
подскажите как поправить, имеем карусель, вот кусок кода
// navigation events
if( $p_nav.length ) {
$p_nav.bind('click.gridnav', function( e ) {
if( $wrapper.data( 'anim' ) ) return false;
$wrapper.data( 'anim', true );
nav[settings.type.mode].pagination( $wrapper, -1, settings );
return false;
});
}
if( $n_nav.length ) {
$n_nav.bind('click.gridnav', function( e ) {
if( $wrapper.data( 'anim' ) ) return false;
$wrapper.data( 'anim', true );
nav[settings.type.mode].pagination( $wrapper, 1, settings );
return false;
});
}
на старых версиях jquery (1.6-1.8.1) все работает как часы, а только подключаешь версию 1.11.1 то перестают работать кнопки вперед назад, выдает вот такую ошибку: Uncaught Error: Syntax error, unrecognized expression: .tj_row_1 и скрипт не срабатывает. помогите разобраться! полный код можно посмотреть тут |
Вероятно ошибка в этом - 'click.gridnav'
http://api.jquery.com/bind/ |
krasovsky, зачем искать где-то в другом месте ошибку, если сама ошибка сообщает в чем проблема:
Цитата:
В коде есть такой фрагмент:
var currentRows = '', nextRows = '';
for( var i = 0; i < opts.rows; ++i ) {
currentRows += '.tj_row_' + (config.currentRow + i) + ',';
Так вот, это неправильный подход. Надо складывать все в массив, а потом соединить его запятой: array.join(',') |
а можно чуть подробнее как все это воплотить?
|
На примере этих двух строчек:
var currentRows = [], nextRows = '';
for( var i = 0; i < opts.rows; ++i ) {
currentRows.push('.tj_row_' + (config.currentRow + i));
...
Потом, currentRows = currentRows.join(',') |
danik.js спасибо!
все получилось |
помогите разобраться до конца, скрипт прекрасно работает но ровно до того момента, пока не пытаешься вывести содержимое в два ряда
methods = {
init : function( options ) {
if( this.length ) {
var settings = {
rows : 2,
код, прекрасно работающий при rows : 1, то есть передается нужное значение от первого массива ко второму, а необходимо передать от первого и второго ко второму и третьему
var currentRows = [], nextRows = '';
for( var i = 0; i < opts.rows; ++i ) {
currentRows.push('.tj_row_' + (config.currentRow + i));
currentRows = currentRows.join(',');
(dir === 1)
? nextRows += '.tj_row_' + (config.currentRow + opts.rows + i) + ''
: nextRows += '.tj_row_' + (config.currentRow - 1 - i) + '';
}
перестает работать, выдавая ошибку Uncaught TypeError: undefined is not a function и указывает на
currentRows.push('.tj_row_' + (config.currentRow + i));
как можно это поправить, подскажите? |
Цитата:
|
в теории понимаю, но вот с воплощением в жизнь уже второй день ни как..
помогите еще раз пожалуйста |
ну ни как не получается.
может кто нить все же поможет? |
| Часовой пояс GMT +3, время: 09:09. |