Giter Club home page Giter Club logo

jquery-dice-menu's Introduction

jquery-dice-menu

Expandable and Fixed location side menu bar.


History

It's a big challenge for the website navigation on mobile which is limited and ralatively small screen size and tapped by finger.
jquery-dice-menu targets on maxmize the screen usage by collapsing the menu to a small size dice and can be expanded to a full menu bar on demand.

Features

By supporting the optional attributes, you can customize the menu by:

1. Layout (Default: column)

Menu items will be arranged on a row or column.

2. Reverse Order (Default: false)

Menu items can be arranged in reverse order.

3. Location (Default: right)

Menu can be sticked on top, right, bottom or left.

4. Offset (Default: 35%)

If the menu is sticked on left/right, then the offset is used in the top: ?(px|%). Otherwise, it's left: ?(px|%)

5. Hints (Default: true)

Hints can be enabled or disabled.

6. Hints Order (Default: bottom)

The location of the hints.

7. Menu toggle status (Default: false)

Is the menu opened by default?


Demonstration on CodePen

https://codepen.io/ssmak/pen/jKMaeV

Installation + Use

  1. Install to your project as dependency from NPM (https://www.npmjs.com/package/jquery-dice-menu)
npm install jquery-dice-menu --save
  1. Load the dependency
<!-- // HEAD -->
<!-- put below stylesheets between the 'head' tag in below order -->
<!-- font awesome 4 - optional, but I use it in my test page. -->
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css">
<!-- jquery-dice-menu, css(default) - provide default rendering -->
<link rel="stylesheet" href="/node_modules/jquery-dice-menu/dist/jq.dice-menu.min.css">
<!-- // BODY -->
<!-- jquery-dice-menu - put below script tag above the close tag of 'body' -->
<script src="/node_modules/jquery-dice-menu/dist/jq.dice-menu.js"></script>
  1. Construct your dice menu
<!-- Dice Menu, we use font-awesome 4 here -->
<ul class="jq-dice-menu" default-open="false" layout="column" reverse="false" snap-to="right" offset="35%" show-hints="true" hints-order="footer">
	<div class="jq-items">
		<!-- first element as a switch button -->
		<li state="close"><span class="fa fa-th-large"></span></li>
		<!-- page anchor to paragraph 2 -->
		<li><span class="fa fa-header" href="#para2" hint="para2"></span></li>
		<!-- page anchor to paragraph 3 -->
		<li><span class="fa fa-arrows-v" href="#para3" hint="para3"></span></li>
		<!-- open a page in a new window -->
		<li><span class="fa fa-google-plus" href="https://plus.google.com/discover" target="_blank" hint="Google Plus"></span></li>
		<!-- open a page in current window -->
		<li><span class="fa fa-github" href="https://github.com" hint="Github"></span></li>
		<!-- page link without hint -->
		<li><span class="fa fa-yahoo" href="https://hk.yahoo.com"></span></li>
		<!-- link to phone number -->
		<li><span class="fa fa-phone" href="tel:+85299887766" hint="Call to hotline"></span></li>
		<!-- link to email address -->
		<li><span class="fa fa-envelope" href="mailto:[email protected]" hint="Email for support"></span></li>
		<!-- page anchor to the top of the page -->
		<li><span class="fa fa-angle-double-up" href="#top"></span></li>
	</div>
	<!-- hints of button -->
	<div class="jq-hints">
		<div class="hint">&nbsp;</div>
	</div>
</ul>

Test

A demo page is located in the /test folder. You can test it with the live reload by using lite-server which can be installed by

npm install lite-server -g
cd /project_root && lite-server

Customization

By supporting the optional attributes, you can customize the menu by:

<ul class="jq-dice-menu" default-open="false" layout="column" reverse="false" snap-to="right" offset="35%" show-hints="true" hints-order="footer"></ul>

1. Layout (Default: column, Supported: row | column)

Menu items will be arranged on a row or column.

2. Reverse Order (Default: false, Supported: true | false)

Menu items can be arranged in reverse order.

3. Location (Default: right, Supported: top | right | bottom | left)

Menu can be sticked on top, right, bottom or left.

4. Offset (Default: 35%, Supported: ?px | ?%)

If the menu is sticked on left/right, then the offset is used in the top: ?(px|%). Otherwise, it's left: ?(px|%)

5. Hints (Default: true, Supported: true | false)

Hints can be enabled or disabled.

6. Hints Order (Default: footer, Supported: header | footer)

The location of the hints.

7. Menu toggle status (Default: false, Supported: true | false)

Is the menu opened by default?

License

MIT

jquery-dice-menu's People

Contributors

ssmak avatar

Watchers

James Cloos 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.