Различия между jQuery и Zepto.js. Важные моменты!

zepto.js, Программирование

Метки (теги) : , ,

Автор: admin

Вот нашел время описать некоторые различия к работе с этими двумя javascript библиотеками. Первым делом нужно отметить самое главное отличие.
Отличие 1
jQuery кроссбаузерный. Zepto.js – нет, работает только с продвинутыми браузерами (Chrome, Opera, Firefox, Safari, а также все браузеры которые работают на движке webkit).

Отличие 2
Метод animate в jQuery может иметь 4 параметра, при этом только первый является обязательным.
Метод animate в Zepto.js может иметь 4 параметра, при этом только первый является обязательным.
Вроде бы никаких отличий, но есть подвох.
Такой код

$("#identification").animate({opacity:0}, 2000, function(){$(this).css({opacity:1});});

в Zepto.js работать не будет, так как пропущен параметр “ease”. А вот так работать будет

$("#identification").animate({opacity:0}, 2000);

и вот так будет

$("#identification").animate({opacity:0}, 2000, "linear", function(){$(this).css({opacity:1});});

Отличие 3
Метод animate есть в Zepto.js, а вот метода stop для него я не нашел, по крайней мере для версии 1 и ниже.

Отличие 4
Не проверял будет ли работать и такая штука is(“:animate”).
Вот код jQuery этого метода

is: function( selector ) {
		return !!selector && (
			typeof selector === "string" ?
				// If this is a positional selector, check membership in the returned set
				// so $("p:first").is("p:last") won't return true for a doc with two "p".
				POS.test( selector ) ?
					jQuery( selector, this.context ).index( this[0] ) >= 0 :
					jQuery.filter( selector, this ).length > 0 :
				this.filter( selector ).length > 0 );
	},

А вот код этого же метода, но в Zepto.js

is: function(selector){
      return this.length > 0 && zepto.matches(this[0], selector)
    },

Не правда ли красиво и лаконично…

Пока на этом все, далее следует …

Комментарии:

Оставить комментарий