PageSourceSearch

https://meteo.by/js/jquery.jNice.js

js meteo.by collected 2026-10-02 06:01:47 UTC 10,249 bytes, 1 lines download raw bytes

1/*� * jNice� * version: 1.0 (11.26.08)� * by Sean Mooney ([email protected]) � * Examples at: http://www.whitespace-creative.com/jquery/jnice/� * Dual licensed under the MIT and GPL licenses:� *   http://www.opensource.org/licenses/mit-license.php� *   http://www.gnu.org/licenses/gpl.html� *� * To Use: place in the head � *  <link href="inc/style/jNice.css" rel="stylesheet" type="text/css" />� *  <script type="text/javascript" src="inc/js/jquery.jNice.js"></script>� *� * And apply the jNice class to the form you want to style� *� * To Do: Add textareas, Add File upload� *� ******************************************** */�(function($){�    $.fn.jNice = function(options){�        var self = this;�        var safari = $.browser.safari; /* We need to check for safari to fix the input:text problem */�        /* Apply document listener */�        $(document).mousedown(checkExternalClick);�        /* each form */�        return this.each(function(){�            $('input:submit, input:reset, input:button', this).each(ButtonAdd);�            $('button').focus(function(){ $(this).addClass('jNiceFocus')}).blur(function(){ $(this).removeClass('jNiceFocus')});�            $('input:text:visible, input:password', this).each(TextAdd);�            /* If this is safari we need to add an extra class */�            if (safari){$('.jNiceInputWrapper').each(function(){$(this).addClass('jNiceSafari').find('input').css('width', $(this).width()+11);});}�            $('input:checkbox', this).each(CheckAdd);�            $('input:radio', this).each(RadioAdd);�            $('select', this).each(function(index){ SelectAdd(this, index); });�            /* Add a new handler for the reset action */�            $(this).bind('reset',function(){var action = function(){ Reset(this); }; window.setTimeout(action, 10); });�            $('.jNiceHidden').css({opacity:0});�        });     �    };/* End the Plugin */��    var Reset = function(form){�        var sel;�        $('.jNiceSelectWrapper select', form).each(function(){sel = (this.selectedIndex<0) ? 0 : this.selectedIndex; $('ul', $(this).parent()).each(function(){$('a:eq('+ sel +')', this).click();});});�        $('a.jNiceCheckbox, a.jNiceRadio', form).removeClass('jNiceChecked');�        $('input:checkbox, input:radio', form).each(function(){if(this.checked){$('a', $(this).parent()).addClass('jNiceChecked');}});�    };��    var RadioAdd = function(){�        var $input = $(this).addClass('jNiceHidden').wrap('<span class="jRadioWrapper jNiceWrapper"></span>');�        var $wrapper = $input.parent();�        var $a = $('<span class="jNiceRadio"></span>');�        $wrapper.prepend($a);�        /* Click Handler */�        $a.click(function(){�                var $input = $(this).addClass('jNiceChecked').siblings('input').attr('checked',true);�                /* uncheck all others of same name */�                $('input:radio[name="'+ $input.attr('name') +'"]').not($input).each(function(){�                    $(this).attr('checked',false).siblings('.jNiceRadio').removeClass('jNiceChecked');�                });�                return false;�        });�        $input.click(function(){�            if(this.checked){�                var $input = $(this).siblings('.jNiceRadio').addClass('jNiceChecked').end();�                /* uncheck all others of same name */�                $('input:radio[name="'+ $input.attr('name') +'"]').not($input).each(function(){�                    $(this).attr('checked',false).siblings('.jNiceRadio').removeClass('jNiceChecked');�                });�            }�        }).focus(function(){ $a.addClass('jNiceFocus'); }).blur(function(){ $a.removeClass('jNiceFocus'); });��        /* set the default state */�        if (this.checked){ $a.addClass('jNiceChecked'); }�    };��    var CheckAdd = function(){�        var $input = $(this).addClass('jNiceHidden').wrap('<span class="jNiceWrapper"></span>');�        var $wrapper = $input.parent().append('<span class="jNiceCheckbox"></span>');�        /* Click Handler */�        var $a = $wrapper.find('.jNiceCheckbox').click(function(){�                var $a = $(this);�                var input = $a.siblings('input')[0];�                if (input.checked===true){�                    input.checked = false;�                    $a.removeClass('jNiceChecked');�                }�                else {�                    input.checked = true;�                    $a.addClass('jNiceChecked');�                }�                return false;�        });�        $input.click(function(){�            if(this.checked){ $a.addClass('jNiceChecked');  }�            else { $a.removeClass('jNiceChecked'); }�        }).focus(function(){ $a.addClass('jNiceFocus'); }).blur(function(){ $a.removeClass('jNiceFocus'); });�        �        /* set the default state */�        if (this.checked){$('.jNiceCheckbox', $wrapper).addClass('jNiceChecked');}�    };��    var TextAdd = function(){�        var $input = $(this).addClass('jNiceInput').wrap('<div class="jNiceInputWrapper"><div class="jNiceInputInner"></div></div>');�        var $wrapper = $input.parents('.jNiceInputWrapper');�        $input.focus(function(){ �            $wrapper.addClass('jNiceInputWrapper_hover');�        }).blur(function(){�            $wrapper.removeClass('jNiceInputWrapper_hover');�        });�    };��    var ButtonAdd = function(){�        var value = $(this).attr('value');�        $(this).replaceWith('<button id="'+ this.id +'" name="'+ this.name +'" type="'+ this.type +'" class="'+ this.className +'" value="'+ value +'"><span><span>'+ value +'</span></span>');�    };��    /* Hide all open selects */�    var SelectHide = function(){�        $('.jNiceSelectWrapper ul:visible').hide();�        $('.jNiceSelectWrapper').removeClass('opened');�    };
1��    /* Check for an external click */�    var checkExternalClick = function(event) {�        if ($(event.target).parents('.jNiceSelectWrapper').length === 0) { SelectHide(); }�    };��    var SelectAdd = function(element, index){�        var $select = $(element);�        index = index || $select.css('zIndex')*1;�        index = (index) ? index : 0;�        /* First thing we do is Wrap it */�        $select.wrap($('<div class="jNiceWrapper"></div>').css({zIndex: 100-index}));�        var width = $select.width();�        $select.addClass('jNiceHidden').after('<div class="jNiceSelectWrapper"><div><span class="jNiceSelectText"></span><span class="jNiceSelectOpen"></span></div><p></p><ul></ul></div>');�        var $wrapper = $(element).siblings('.jNiceSelectWrapper').css({width: width +'px'});�        $('.jNiceSelectText, .jNiceSelectWrapper ul', $wrapper).width( width - $('.jNiceSelectOpen', $wrapper).width());�        /* IF IE 6 */�        if ($.browser.msie && jQuery.browser.version < 7) {�            $select.after($('<iframe src="javascript:\'\';" marginwidth="0" marginheight="0" align="bottom" scrolling="no" tabIndex="-1" frameborder="0"></iframe>').css({ height: $select.height()+4 +'px' }));�        }�        /* Now we add the options */�        SelectUpdate(element);�        /* Apply the click handler to the Open */�        $('div', $wrapper).click(function(){�            var $ul = $(this).siblings('ul');�            if ($ul.css('display')=='none'){ SelectHide(); } /* Check if box is already open to still allow toggle, but close all other selects */�            $ul.toggle();�            var offSet = ($('a.selected', $ul).offset().top - $ul.offset().top);�            $ul.attr({scrollTop: offSet});�            $wrapper.toggleClass('opened');�            return false;�        });�        /* Add the key listener */�        $select.keydown(function(e){�            var selectedIndex = this.selectedIndex;�            switch(e.keyCode){�                case 40: /* Down */�                    if (selectedIndex < this.options.length - 1){ selectedIndex+=1; }�                    break;�                case 38: /* Up */�                    if (selectedIndex > 0){ selectedIndex-=1; }�                    break;�                default:�                    return;�                    break;�            }�            $('ul a', $wrapper).removeClass('selected').eq(selectedIndex).addClass('selected');�            $('span:eq(0)', $wrapper).html($('option:eq('+ selectedIndex +')', $select).attr('selected', 'selected').text());�            return false;�        }).focus(function(){ $wrapper.addClass('jNiceFocus'); }).blur(function(){ $wrapper.removeClass('jNiceFocus'); });�    };��    var SelectUpdate = function(element){�        var $select = $(element);�        var $wrapper = $select.siblings('.jNiceSelectWrapper');�        var $ul = $wrapper.find('ul').find('li').remove().end().hide();�        $('option', $select).each(function(i){�            $ul.append('<li><a href="#" index="'+ i +'">'+ this.text +'</a></li>');�        });�        /* Add click handler to the a */�        $ul.find('a').click(function(){�            $('a.selected', $wrapper).removeClass('selected');�            $(this).addClass('selected');   �            /* Fire the onchange event */�            if ($select[0].selectedIndex != $(this).attr('index') && $select[0].onchange) { $select[0].selectedIndex = $(this).attr('index'); $select[0].onchange(); }�            $select[0].selectedIndex = $(this).attr('index');�            $('span:eq(0)', $wrapper).html($(this).html());�            $wrapper.removeClass('opened');�            $ul.hide();�            return false;�        });�        /* Set the defalut */�        $('a:eq('+ $select[0].selectedIndex +')', $ul).click();�    };��    var SelectRemove = function(element){�        var zIndex = $(element).siblings('.jNiceSelectWrapper').css('zIndex');�        $(element).css({zIndex: zIndex}).removeClass('jNiceHidden');�        $(element).siblings('.jNiceSelectWrapper').remove();�    };��    /* Utilities */�    $.jNice = {�            SelectAdd : function(element, index){   SelectAdd(element, index); },�            SelectRemove : function(element){ SelectRemove(element); },�            SelectUpdate : function(element){ SelectUpdate(element); }�    };/* End Utilities */��    /* Automatically apply to any forms with class jNice */�    $(function(){$('form.jNice').jNice();   });�})(jQuery);

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.