Leaderboard
Popular Content
Showing content with the highest reputation on 07/16/2013 in all areas
-
nerv 1. Потому, что если настройки по-умолчанию вынести за функцию (function($) { // Default var settings = { scrollTop: 300 }; $.fn.myBox = function(options) { return this.each(function() { /* ... */ }); }; })(jQuery); то первый же вызов плагина с параметрами перепишет этот объект глобально (в рамках контекста) для всех будущих обращений к плагину. Это явно не то что ожидается 2. Что нужно было точно вынести из return this.each(), так это extend который переопределяет параметры по-умолчанию: (function($) { $.fn.myBox = function(options) { // Default var settings = $.extend({ scrollTop: 300 }, options); return this.each(function() { /* ... */ }); }; })(jQuery); Что касается событий... ну в данном конкретном случае теоретически да можно сразу скопом для всех цеплять события. Тут надо сказать вообще весьма странный функционал в этом плагине. Но! Как правило, коллекция (может состоять из нескольких элементов) к которой привязывается плагин, действовать должны по отдельности каждый элемент коллекции независимо от остальных.1 point
-
не читал, но могу сказать несколько комментариев по твоему коду: $.fn.myBox = function(options) { // Default var settings = { scrollTop: 300 }; 1. зачем создавать объект с настройками каждый раз при обращению к плагину? $(window).on({ 2. зачем биндить событие каждый раз при вызове плагина, если можно сделать это один раз для всех вызовов? (в данном случае)1 point
-
Извиняюсь, маленькую ошибку допустила, не "if(box.scrollTop()>300){", а "if($(this).scrollTop()>300){" http://jsfiddle.net/cJ8MV/7/1 point
-
На форуме есть отличная статья которая очень подробно объясняет как писать плагины к jQuery http://forum.htmlboo...showtopic=23096 . Спасибо товарищу Great Rash'у за это. (function($) { $.fn.myBox = function(options) { // Default var settings = { scrollTop: 300 }; return this.each(function() { if (options) { $.extend(settings, options); } var $this = $(this); $(window).on({ scroll: function() { if ($(this).scrollTop() > settings.scrollTop) { $this.fadeIn(); } else { $this.fadeOut(); } } }); }); }; })(jQuery); Потом уже можно будет вызывать $(function(){ $('.box').myBox({ scrollTop : 500 }); });1 point
-
Первая ошибка - не this, а $(this). Вторая, когда ты входишь в функцию myBox() $(this) - это ".myBox", а во внутренней функции scroll $(this) - это уже window. Поэтому первое, что нужно сделать в myBox() - это записать значение this в переменную. var box = $(this); и уже использовать его. jQuery(document).ready(function(){ (function( $ ){ $.fn.myBox = function() { var box = $(this); jQuery(window).scroll(function () { if (box.scrollTop() > 300) { box.fadeIn(); } else { box.fadeOut(); } }); }; })( jQuery ); }); jQuery(".box").myBox();1 point
-
не проверял (function( $ ) { var win; $.fn.myBox = function() { win = win || $( window ).scroll(function() { win.trigger( 'my' ); }); win.on( 'my', function() { var method = win.scrollTop > 300 ? 'fadeIn' : 'fadeOut'; this[ method ](); }.bind( this )); }; }( jQuery )); $(function() { $( ".box" ).myBox(); });1 point
-
1 point
-
Большое спасибо! Я пытался использовать z-index, но не очень получалось из-за position: static;1 point
-
Вот такого делать точно не нужно. За -webkit-only (второй пример) в 2013-м нужно сажать на пару лет за IE8 без права переустановки, а при рецидиве — отрезать клавиатуру с мышкой. Первый пример, конечно, забавный, но загаживать разметку тоннами бессмысленных дивов тупо ради галочки «ни грамма JS» — имхо, не лучший пример подрастающему поколению1 point
-
Здравствуйте. Так вышло, что у меня одномоментно возникло 2 вопроса - но для каждого из них создавать отдельный пост я не увидел смысла.. 1) Меня заинтересовал следующий момент: Можно ли организовать кроссбраузерную реализацию тега <select> без помощи JS?? Имею ввиду не сам внешний вид - а именно размеры тега + вертикальное центрирование шрифта? Для примера есть такая страница: http://webmaster.ayr...ru-2/index.html В шапке есть 2 селекта и мне необходимо что бы размеры и вертикальное центрирование было одинаковым в следующих браузерах(в последних их версиях): Mazilla, Google Chrome, Safari, Opera, + IE-7,8,9,10!? Проблема в том, что в ie-7 cелект мне не удаётся вертикально отцентрировать: (c остальными браузерами разобрался.) http://webmaster.ayr...e_7_selects.jpg 2) Реально ли на сегодняшний день загрузить сайт(вернее его клиентскую часть) на свой хостинг и продемонстрировать его заказчику таким образом, что бы он не смог его украсть? Или по крайней мере сделать так, что бы красть его было не выгодно с точки зрения временных затрат.) В том числе и через специализированные программы(например: Фаербаг, Скрапбук и т.п.) ??? Интересно мнение бывалых в этом деле пользователей.. P.S. Буду признателен за любые конструктивные советы по данным вопросам..1 point
-
Почитал статью на хабре и похоже действительно ie-7 в картину не вписывается. ) У автора той статьи селект нельзя увеличивать по высоте - иначе там в ie-7 такая же проблема как и у меня появляется. (либо я чего то в той статье не до понял.) P.S. За подсказку с обфускаторами спасибо! Обязательно погуглю, на досуге, на эту тему.1 point
This leaderboard is set to Kiev/GMT+02:00
-
Upcoming Events
No upcoming events found -
Сообщения форума
-
Доброго всем времени суток. Прошу помощи. Научите принципу изменения футера. Движок Xenforo. Версия 2.2.10. Стиль дефолтный. Что именно нужно в итоге на фото примере. Мой шаблон app.footer less имеет следующее значение. .p-footer { .xf-publicFooter(); a { .xf-publicFooterLink(); } } .p-footer-inner { .m-pageWidth(); .m-pageInset(); padding-top: @xf-paddingMedium; padding-bottom: @xf-paddingLarge; } .p-footer-row { .m-clearFix(); margin-bottom: -@xf-paddingLarge; } .p-footer-row-main { float: left; margin-bottom: @xf-paddingLarge; } .p-footer-row-opposite { float: right; margin-bottom: @xf-paddingLarge; } .p-footer-linkList { .m-listPlain(); .m-clearFix(); > li { float: left; margin-right: .5em; &:last-child { margin-right: 0; } a { padding: 2px 4px; border-radius: @xf-borderRadiusSmall; &:hover { text-decoration: none; background-color: fade(@xf-publicFooterLink--color, 10%); } } } } .p-footer-rssLink { > span { position: relative; top: -1px; display: inline-block; width: 1.44em; height: 1.44em; line-height: 1.44em; text-align: center; font-size: .8em; background-color: #4682B4; border-radius: 2px; } .fa-rss { color: white; } } .p-footer-copyright { margin-top: @xf-elementSpacer; text-align: center; font-size: @xf-fontSizeSmallest; } .p-footer-debug { margin-top: @xf-paddingLarge; text-align: right; font-size: @xf-fontSizeSmallest; .pairs > dt { color: inherit; } } @media (max-width: @xf-responsiveMedium) { .p-footer-row-main, .p-footer-row-opposite { float: none; } .p-footer-copyright { text-align: left; padding: 0 4px; // aligns with other links } }
-
Нужны сайты с примерами верстки, типа https://css-tricks.com/. Типовые приемы и нестандартные на все случаи жизни. Накидайте ссылок.
-
By Katerina23 · Posted
Да, подходит. Спасибо. -
<input type="number">
-
By Katerina23 · Posted
Здравствуйте, подскажите какой тег использовать для увеличения значения, пример на картинке. Вроде, про такой тег я слышала. Если есть тег прогресс бар, значит и такое должно быть.
-