плавающее JavaScript меню 2Суть и идея скрипта описаны в статье плавающее JavaScript меню, но время идет, и тот скрипт уже не отвечает современным требованиям, таким как легкость и простота изменения количества объектов, расширяемость и др., а проще говоря устарел. В связи с этим предлагаю вашему вниманию новую реализацию старой идеи. JavaScript код:
var confTimeDelay = 10;
var confIterations = 10;
var confKoefScale = 1;
function ScaleUp(img,iters) {
var i=iters;
function UpImg() {
if(i<=0) return 0;
img.width += confKoefScale*i;
window.setTimeout(UpImg, confTimeDelay);
i--;
}
UpImg();
}
function ScaleDown(img,iters) {
var i=iters;
function DownImg() {
if(i<=0) return 0;
img.width -= confKoefScale*i;
window.setTimeout(DownImg, confTimeDelay);
i--;
}
DownImg();
}
За присланное спасибо Михаилу Зайцеву (aka Zmi)
А вот до чего можно довести эволюцию данного скрипта с использованием jQuery:
var confTimeDelay = 30;
var confIterations = 7;
var confKoefScale = 1;
$('#slicemenu > img').mouseover(function (){
var i = confIterations;
var img = $(this);
function UpImg()
{
if(i<=0) return;
img.width(img.width()+confKoefScale*i--);
setTimeout(arguments.callee, confTimeDelay);
}
UpImg();
}).mouseout(function (){
var i = confIterations;
var img = $(this);
function DownImg()
{
if(i<=0) return;
img.width(img.width()-confKoefScale*i--);
setTimeout(arguments.callee, confTimeDelay);
}
DownImg();
});
Как видите, здесь нам удалось совсем избавиться от описания обработчиков событий в свойствах изображений и добавление очередного объекта сводится к добавлению img в div с id="slicemenu". 27.02.09 А вот до чего сократился код с выходом расширения jQuery magnifier: $('#slicemenu2').magnifier();
Пример наверху.
Комментарии:IQ-40 06.02.09 23:57 забавный эффект! :) BaN 10.03.09 16:48 Уважаемый автор. Я конечно понимаю что это красиво. Но вы считаете что данный скрипт оправдан? Я имею в виду с библиотекой jQuery magnifier. Мне кажется тяжеловато будет использовать ее ради тока этого меня. Я сам сначала обрадовался, все замечательно, но посмотрев файл 200 кб, как то передумал его использовать. Буду рад если найдется какое то более легкое решение этого скрипта. ЗЫ Если что то ламерски сказал, не судите строго, я тока начал изучать все эти ajax\'ы. Alek Veritov 10.03.09 17:10 Почему ж ламерски? вполне логичный вопрос. Я считаю, что данный скрипт оправдан, потому что сама библа jQuery (кстати 55Кб) не только здесь используется, а magnifier просто в составе полного jQuery UI, поэтому и 200Кб. Если задаться целью и выделить его в отдельный скрипт (потому что magnifier уже не входит по неизвестным мне причинам в jQuery UI), то думаю получится около 20-30Кб. Fedr 14.03.09 18:53 такой вопрос, при увеличении остальные изображения отползают вниз, реально ли сделать чтоб они по центру оставались? Мангуст 15.06.09 00:13 Угу каждому изображению своя ячейка таблици и тогда одна картинка увеличивается, остальные статичны. tweenfaster 06.07.09 03:28 Спасибо, интересная статья. Но было бы ещё интересней, если бы Вы поделились, как сделать так, чтобы увеличение зависило от приближения курсора к картинке, как у Вас в главном меню. Очень интересно )) ... Alek Veritov 06.07.09 13:52 а я поделился - jQuery magnifier. Antony 24.07.09 08:43 А magnifier то значительно быстрее работает )) SPARTAK 17.08.09 15:22 Очень интересное меню. Я новичок в этом деле, выделил код меню того что вверху страницы но не могу сделать с них ссылки. не могли бы Вы подсказать как мне это сделать? Ума не приложу куда что надо вписывать. кир 24.12.09 13:11 глюки при изменении масштаба страницы(firefox 3.5.5), пример наверху Александр 15.02.11 19:52 Спасибо автору! Mihail Zimbru 05.06.11 02:14 <script> Mihail Zimbru 05.06.11 02:17 V skripte kotorii nahoditsia vishe ia postaralsia umenishiti kod :) Если вам помогла или просто понравилась эта статья вы можете отблагодарить автора кликнув по рекламе. Спасибо! комментировать:
прежде чем писать комментарий убедитесь, пожалуйста, что он не попадает в нижеследующие категории:
прямые оскорбления кого бы то ни было будут удалятся! от кого: |


