Giter Site home page Giter Site logo

fancyform's Introduction

jQuery Fancyform (Javascript)

Fancyform is a tool that offers a nice and elegant way to transform your HTML elements into custom styled elements. It is build on the Javascript framework jQuery and is easy to implement and customize. The elements you can style are input:radio, input:checkbox, input:file, select and textarea. You can see a demo at the website.

##Support the project Click here to lend your support to: Fancyform and make a donation at www.pledgie.com !

Example code

Radio button

You can transform your own radio button into any image you want to use. If an image is clicked the radio button will be checked and the radios change event will be triggered.

$("input:radio").transformRadio({
	base : "images",   // image or class, if class there will be added a span around the radio button, 
					   //                 if image there will be placed an image after the input
    checked : "img/chk_on.png",   // Checked image to show
    unchecked : "img/chk_off.png"	// Unchecked image to show
});

Checkbox

You can transform your own checkbox into any image you want to use. If an image is clicked the checkbox will be checked and the change event will be triggered. It is also possible to use the checkboxes as a Tri-State, If you enable the tri-state option, you need to use the UL LI structure for the node tree.

$("input:checkbox").transformCheckbox({
    checked: "/images/content/filterBoxCheckboxChecked.jpg", // Checked image
    unchecked: "/images/content/filterBoxCheckbox.jpg",		// Unchecked image
    disabledChecked : "/images/content/filterBoxCheckboxDisabledChecked.jpg", // Disabled checked image
    disabledUnchecked : "/images/content/filterBoxCheckboxDisabledUnChecked.jpg", // Disabled unchecked image
    tristateHalfChecked : "/images/content/filterBoxCheckboxDisabledUnChecked.jpg", // Tri-state image
    changeHandler: function (is_checked) { }, // handler when checkbox is clicked
    trigger: "self", // Can be self, parent
    tristate : false // Use tri state? need to be ul > li > checkbox // ul > li > ul > li > checkbox
});

##Select (Dropdown) The SELECT will be changed into a UL list, it is possible to use the default SELECT, OPTION and OPTGROUP to transform it into something you want. When the SELECT is opened, the opened LI will have a class .open, so you can define new styles to an opened dropdown.

$("SELECT").transformSelect({
    dropDownClass: "transformSelect", 	// Class of the main UL
    showFirstItemInDrop: true, 			// Show or hide the first item within the dropdown (e.g. "Select a country")
    acceptManualInput: false, 			// You want to be able to type your own value? ({name}_backup will be created with a new input {name})
    useManualInputAsFilter : false,		// Use the manual input as a filter (add data-settings='{"alwaysvisible" : true}' to the option if you don't want the element to hide)

    subTemplate: function () { return "<span>" + $(this).text() + "</span>"; }, 	// The template of the LI within the dropdown
    initValue: function () { return $(this).text(); },			// The initial value of the <span></span> of the selected element
    valueTemplate: function () { return $(this).text(); }, 		// The selected value, after initial value	

    ellipsisLength: null // The max length of the selected text
});

##File Easily change the file input to a good looking file input.

$("input:file").transformFile({
    cssClass : "customInput",
    label : "Browse..."
});

##Textarea Customize your own textarea like you've never done before! You can add any slider you find on the internet. Below an example with the jQuery UI slider.

$("textarea").transformTextarea();

// Use a custom slider	
$( "#slider" ).slider({
    orientation: "vertical",
    range: "min",
    min: 0,
    max: 100,
    value: 100,
    slide: function( event, ui ) {
        // Top = 0
        var perc = 100 - ui.value;
	
        // Scroll textarea to given percentage
        $("textarea").transformTextarea("scrollToPercentage", perc);
    }
});

// Move the slider to the scrollHeight of the textarea
$("textarea").bind("scrollToPx", function(e, px, percentage){
    $( "#slider" ).slider("option", "value", 100 - percentage);	
});

#Licence Fancyform dual licensed under the MIT and GPL licenses.

Bitdeli Badge

fancyform's People

Contributors

bitdeli-chef avatar tsukasa1989 avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.