July 26, 2016

jQuery Mobile Tutorial

jQuery Mobile is a framework for creating mobile web applications.
jQuery Mobile works on all popular smartphones and tablets.
jQuery Mobile uses HTML5 & CSS3 for laying out pages with minimal scripting.

Visit: http://www.w3schools.com/jquerymobile/

Kendo UI ®- The Most Complete UI Library to Speed Up Your HTML/JS Development

  • 70+ UI Components

    Get any UI component you would ever need for your app - from the must-haves Data Grids, DropDowns, Menus and Buttons to the advanced line-of-business UIs, such as Charts, Spreadsheet, Gantt, Diagram, Scheduler, PivotGrid, and Maps.
  • Beautiful Themes

    Choose from dozens of ready-to-use themes to make your app pop without writing any CSS. Some of our most popular themes are: Material Design, SAP Fiori, and Office 365. A simple StyleBuilder tool further lets you customize those themes.
  • Smart UI for Any Screen Size

    Build cross-platform web applications delivering experience tailored to the user's screen size on desktop, tablet and phone. All components integrate seamlessly with grid-layout frameworks, such as Bootstrap and Zurb Foundation. Learn more about Kendo UI responsive capabilities.
  • Easy to Learn and Use

    Kendo UI uses a common JavaScript language and standards so that it’s easy for any JavaScript developer to get started. You can get ready-to-use sample apps saving you time to include the needed Kendo UI libraries and set-up the components in your apps.
  • Complete Training

    Get started with Kendo UI in just a few days. Online training courses and hands-on exercises help you quickly implement Kendo UI components into your apps.

February 13, 2014

Live examples of Knockout JS

To see working examples of using Knockout to create responsive UIs, choose from the menu on the left.
If you’re new to Knockout, start with the ‘Hello World’ example and perhaps read an introductory tutorial.

December 3, 2013

What is Knockout JS?

Knockout is a JavaScript library that helps you to create rich, responsive display and editor user interfaces with a clean underlying data model. Any time you have sections of UI that update dynamically (e.g., changing depending on the user’s actions or when an external data source changes), KO can help you implement it more simply and maintainably.
Headline features:
  • Elegant dependency tracking - automatically updates the right parts of your UI whenever your data model changes.
  • Declarative bindings - a simple and obvious way to connect parts of your UI to your data model. You can construct a complex dynamic UIs easily using arbitrarily nested binding contexts.
  • Trivially extensible - implement custom behaviors as new declarative bindings for easy reuse in just a few lines of code.

Additional benefits:
  • Pure JavaScript library - works with any server or client-side technology
  • Can be added on top of your existing web application without requiring major architectural changes
  • Compact - around 13kb after gzipping
  • Works on any mainstream browser (IE 6+, Firefox 2+, Chrome, Safari, others)
  • Comprehensive suite of specifications (developed BDD-style) means its correct functioning can easily be verified on new browsers and platforms

For more visit knockoutjs.com/ 

Sencha Touch, Build for Mobile

Sencha Touch bunch is the industry’s first HTML 5 product suite that provides phone developers with the JavaScript framework, development tools, and business class support they need to build fully touch based apps in a single, integrated package.

 Modern HTML5 App Dev for the Desktop

Sencha Ext JS is the industry's most powerful desktop application development platform with unparalleled cross-browser compatibility, advanced MVC architecture, plugin-free charting, and modern UI widgets.

What is Sencha Ext. JS?

Sencha Ext. JS is the leading standard for business-grade web application development. With over 100 examples, 1000 APIs, hundreds of components, a full documentation suite and built in themes, Ext JS provides the tools necessary to build robust desktop applications. Ext JS also brings a rich data package that allows developers to use a model-view-controller (MVC) architecture when building their app. The MVC leverages features like Big Data Grids enabling an entirely new level of interactivity in web apps.

Cross Browser Compatibility

Ext JS 4 lets developers deliver on an incredible variety of browsers and on more operating systems using the same code — over ten years of browsers in one release. On modern browsers, Ext JS 4 utilizes HTML5 features and falls back to alternatives on older browsers. Whether you’re using Ext JS’ built-in UI components, using the Charting package, or theming your application, Ext JS 4 makes it easy to build an app that gives you the power of the web regardless of what browser your customer uses.
Ext JS supports all major web browsers including:

Internet Explorer 6+
Firefox 3.6+ (PC, Mac)
Safari 4+
Chrome 10+
Opera 11+ (PC, Mac)


August 1, 2013

Custom HTML Select Box

Add Jquery and call this id on your select box id="Items" in your page than call this script:========

jQuery.fn.extend({
    selectbox: function(options) {
        return this.each(function() {
            new jQuery.SelectBox(this, options);
        });
    }
});


/* For ie logging */
if (!window.console) {
    var console = {
        log: function(msg) {
     }
    }
}
/* */

jQuery.SelectBox = function(selectobj, options) {
   
    var opt = options || {};
    opt.inputClass = opt.inputClass || "selectbox";
    opt.containerClass = opt.containerClass || "selectbox-wrapper";
    opt.hoverClass = opt.hoverClass || "current";
    opt.currentClass = opt.selectedClass || "selected"
    opt.debug = opt.debug || false;
   
    var elm_id = selectobj.id;
    var active = -1;
    var inFocus = false;
    var hasfocus = 0;
    //jquery object for select element
    var $select = $(selectobj);
    // jquery container object
    var $container = setupContainer(opt);
    //jquery input object
    var $input = setupInput(opt);
    // hide select and append newly created elements
    $select.hide().before($input).before($container);
   
   
    init();
   
    $input
    .click(function(){
    if (!inFocus) {
          $container.toggle();
        }
    })
    .focus(function(){
       if ($container.not(':visible')) {
           inFocus = true;
           $container.show();
       }
    })
    .keydown(function(event) {      
        switch(event.keyCode) {
            case 38: // up
                event.preventDefault();
                moveSelect(-1);
                break;
            case 40: // down
                event.preventDefault();
                moveSelect(1);
                break;
            //case 9:  // tab
            case 13: // return
                event.preventDefault(); // seems not working in mac !
                $('li.'+opt.hoverClass).trigger('click');
                break;
            case 27: //escape
              hideMe();
              break;
        }
    })
    .blur(function() {
        if ($container.is(':visible') && hasfocus > 0 ) {
            if(opt.debug) console.log('container visible and has focus')
        } else {
            hideMe();   
        }
    });


    function hideMe() {
        hasfocus = 0;
        $container.hide();
    }
   
    function init() {
        $container.append(getSelectOptions($input.attr('id'))).hide();
        var width = $input.css('width');
        $container.width(width);
    }
   
    function setupContainer(options) {
        var container = document.createElement("div");
        $container = $(container);
        $container.attr('id', elm_id+'_container');
        $container.addClass(options.containerClass);
       
        return $container;
    }
   
    function setupInput(options) {
        var input = document.createElement("input");
        var $input = $(input);
        $input.attr("id", elm_id+"_input");
        $input.attr("type", "text");
        $input.addClass(options.inputClass);
        $input.attr("autocomplete", "off");
        $input.attr("readonly", "readonly");
        $input.attr("tabIndex", $select.attr("tabindex")); // "I" capital is important for ie
       
        return $input;   
    }
   
    function moveSelect(step) {
        var lis = $("li", $container);
        if (!lis) return;

        active += step;

        if (active < 0) {
            active = 0;
        } else if (active >= lis.size()) {
            active = lis.size() - 1;
        }

        lis.removeClass(opt.hoverClass);

        $(lis[active]).addClass(opt.hoverClass);
    }
   
    function setCurrent() {   
        var li = $("li."+opt.currentClass, $container).get(0);
        var ar = (''+li.id).split('_');
        var el = ar[ar.length-1];
        $select.val(el);
        $input.val($(li).html());
        return true;
    }
   
    // select value
    function getCurrentSelected() {
        return $select.val();
    }
   
    // input value
    function getCurrentValue() {
        return $input.val();
    }
   
    function getSelectOptions(parentid) {
        var select_options = new Array();
        var ul = document.createElement('ul');
        $select.children('option').each(function() {
            var li = document.createElement('li');
            li.setAttribute('id', parentid + '_' + $(this).val());
            li.innerHTML = $(this).html();
            if ($(this).is(':selected')) {
                $input.val($(this).html());
                $(li).addClass(opt.currentClass);
            }
            ul.appendChild(li);
            $(li)
            .mouseover(function(event) {
                hasfocus = 1;
                if (opt.debug) console.log('over on : '+this.id);
                jQuery(event.target, $container).addClass(opt.hoverClass);
            })
            .mouseout(function(event) {
                hasfocus = -1;
                if (opt.debug) console.log('out on : '+this.id);
                jQuery(event.target, $container).removeClass(opt.hoverClass);
            })
            .click(function(event) {
              var fl = $('li.'+opt.hoverClass, $container).get(0);
                if (opt.debug) console.log('click on :'+this.id);
                $('li.'+opt.currentClass).removeClass(opt.currentClass);
                $(this).addClass(opt.currentClass);
                setCurrent();
                hideMe();
            });
        });
        return ul;
    }
   
};

July 24, 2013

Google Vs Yahoo

  1. Google Alerts (beta):Google Alerts are email updates of the latest relevant Google results (web, news, etc.) based on your choice of query or topic.
    Yahoo! Alerts Get real-time updates delivered to you instantly via: email, mobile device, or Yahoo! Messenger.
  2. Answers:
    Google Answers Google Answers is a way to get that help from Researchers with expertise in online searching.
    Ask Yahoo! We carefully research our answers by searching the Internet for relevant web sites and pages.
  3. Desktop Search:Google Desktop Find your email, files, media, web history and chats instantly.
    Yahoo! Desktop Search (beta) Yahoo! Desktop Search Beta is a free, downloadable search application that enables you to find any of your files, emails, attachments, instant messages and contacts.
  4. Directory:
    Google Directory The Google Web Directory integrates Google's sophisticated search technology with Open Directory pages to create the most useful tool for finding information on the web.
    Yahoo! Directory The Yahoo! Directory gives you access to what's available on the Web.
  5. Finance:
    Google Search Feature: Stocks To use Google to get live stock quotes and information, just enter one or more ticker symbols.
    Yahoo! Finance You have access to a wide array of financial resources on Yahoo!
  6. Groups:
    Google Groups (beta) A Google Group is an online discussion group or mailing list that helps groups of people communicate using email and the web.
    Yahoo! Groups Yahoo! Groups is a free service that allows you to bring together family, friends, and associates through a web site and email group.
  7. Image Search:
    Google Image Search Google's Image Search is the most comprehensive on the Web, with more than one billion images indexed and available for viewing.
    Yahoo! Image Search Yahoo! Image Search allows you to search millions of images from across the Web.