Coder Social home page Coder Social logo

elkfox / focus Goto Github PK

View Code? Open in Web Editor NEW
15.0 7.0 6.0 459 KB

๐Ÿ‘“ A minimal popup, modal, overlay, drawer and dialogue window plugin

Home Page: https://elkfox.github.io/Focus/

JavaScript 75.05% CSS 24.95%
popups popup-dialog menu-navigation modals modal-dialogs html sass jquery jquery-plugin framework

focus's People

Contributors

allanarmstrong avatar cam avatar georgebutter avatar oscarstranger avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

focus's Issues

Linked/multiple targets

One focus to control both a mobile view and a desktop view for example.

Perhaps it's best not to use Id as the default selector

Add additional config

Options to add config for:

  • applying a class to the target button
  • visible
  • use slide down/up

Autofocus classes

In the original Reinforced popup system, we added an autofocus helper class into the JS to attach autofocus events to inputs in forms inside popups. It would be great if we could integrate this into the new Popups.js

The code went something like this:

  $('.popup-link').on('click', function(event) {
    ... other stuff here
    setTimeout(function(){
      $(popupId + ' .Autofocus').focus();
    }, 300);
  });

Update docs

  • Correct callback objects (targets, etc.)
  • Add data-target check to data-close events
  • Add detach flag

Should be using flexbox instead

The popups are using -50% transforms to center them. This sometimes means that they, and their contents are placed on a subpixel value which causes blurriness. There are hacks to resolve this but it varies across browsers and hardware.

Seems as though flexbox is the only pure css solution to this issue.

image
image

data-trigger events

The popups trigger event listens for all elements with [data-trigger] instead of [data-trigger="popup"] which can disable other unrelated functions that might want to use the data-trigger attribute (such as: data-trigger="toggle" or data=trigger="my-unrelated-trigger")

The trigger line should be updated as follows:
jQuery(document).on('click', '[data-trigger]', function(event) {
jQuery(document).on('click', '[data-trigger="popup"]', function(event) {

Adding a second close link

Hi. Thanks for the code.

I tried adding a second close link, but it doesn't work. As a work around, I used the .popup-outer on a div with a close text inside. This closed it on desktop, but not iphone.

Any advice would be much appreciated. It's the final step before I go live with this.

Thanks!

Add 'detach' flag

Add detach flag to Focus config which appends popups to the end of the document body on load.

Targeted close events

Add data-target check to data-close events


if ((typeof(jQuery(this).data('target')) == 'undefined') || (jQuery(this).data('target') == _this.target)) {
  _this.hide();
}

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.