Creating a jQuery Plugin out of jQuery code - javascript

Here's my problem: I've got this nice Office Minibar implementation which I want to use on my project. However, I need to apply the Jquery code to dynamically created textarea elements, hence requiring the use of
$("#textarea_id").minibar(); //minibar() applies the minibar to the selected textarea element
However, i'm at a complete loss on how to do it. Any help would be great appreciated. The Minibar coding is fairly simple:
http://www.jankoatwarpspeed.com/post/2010/05/23/microsoft-office-minibar-jQuery-CSS3.aspx

Start out reading the jQuery plugin authoring guide. It does a really good job of walking you through things. If you want to cut to the chase, read the summary and best practices section.
Basically, it'll look like this:
(function($){
$.fn.minibar = function () {
// minibar initialization code here
};
})(jQuery);

jQuery's plugin authoring is a great starting point.

I also agree that the Plugin Authoring tool is a good start.
Also there is a Jquery Plugin Skeleton that provides a commonly used plugin pattern.
I noticed that in your code you have static ids and markup. It may be better to create these elements dynamically so people that use your plugin don't have to add them and there are no id or class name conflicts.

Related

Jquery Widget vs Jquery Plugin, Differences, When to use which?

What are the main differences between a Jquery Widget and a Jquery Plugin.
Mainly:
What purposes do they serve
Is one better than another or do they both have their place in the jquery world
What is an example where I would want to use one over another
What is an example if any where either would be a fine solution
What is an example of a widely used widget and a widely used plugin
I've never heard of a jQuery widget. I imagine some people might use the term to describe a... widget... that has been made with jQuery. Certainly there are widgets in jQuery UI, for example. It's an odd question.
A widget is a widget (always includes a visual element, sometimes includes reusable functionality), and can be a subset of a plugin or a plugin in and of itself.
A plugin extends jQuery directly and may or may not have a visual component.
Difference between jQuery Widget and plugin is state.
please see details on it here

jQuery: Plain HTML/CSS with core jQuery or jQuery UI for a blog?

I'm about to implement a blog, and I'm pretty sure I want to go with jQuery, because I really like it.
However, when I last did jQuery, I just did plain HTML/CSS and then improved the user experience with what jQuery has to offer. Meanwhile, jQuery UI has been released, and it looks like a full-fledged user interface framework like Ext JS.
Can I benefit from jQuery UI with a rather simple website like this, or is it more geared towards web applications like GMail?
jQuery UI is quite large and seems to have lots and lots of CSS in their skins. I'm a bit worried that I would have to write/adjust tons of CSS to make the blog look like I want it to. If I did plain HTML/CSS, I would have fine-grained control over the appereance.
Edit: I'll stress again that I'm specifically wondering whether jQuery UI is intended for and useful for a simple website like a blog. It is no doubt useful for more sophisticated web applications.
Edit 2: Thanks for all your answers, too bad I couldn't accept more than one. By now I realised that jQuery UI is not like I expected a full-fledged web application framework, but rather a bunch of useful utilities on top of jQuery. I think I'll use it, if only for Draggable, Droppable and Selectable.
You don't necessarily need to write loads of CSS if you don't like the supplied styles.
The jQuery UI ThemeRoller is a very good web-based GUI for customising the look of the widgets. It then allows you to download your own customised (and minified) .css and .js files containing just the widgets you need.
I suggest that you should have a play with that first and see if you can make the demo widgets look how you'd like them before making any decision.
You can have both... I have! Where I am using widgets (datepicker) etc, I use jquery ui, besides visit : http://jqueryui.com/themeroller/ and you can customize the colours quite easily. The UI themes are recommended strongly if you use the widgets as the widgets rely on the css defined therein to move things around, for display and selection, handling rezise of widgets.
You can always build your site using html + css then add the ui theme later, as you said it will increase the user experience greatly... besides we always end up using 1 or 2 features then extend or find other suitable plugins.
As always, the answer is 'it depends'.
More specifically though, it depends on what kind of a UI you're planning on. If you find yourself coding functionality that's already there in jq UI go ahead and use it. They've got a handy theme roller plugin which will allow you to customize the skin to perfectly match the look of your site, so that is a non issue.
You might also want to include it all through a CDN (offered by google or MS) so that your site doesn't get slow downloading the (relatively) heavy initial payload.

YUI: Is there any any script made by using YUI, for slider.?

I m developing an application in YUI. And need to implement a slider for 3 forms.
which will work exactly like this JQuery Plugin :
http://tympanus.net/Tutorials/FancySlidingForm/
I am very noob in YUI.
So can anyone provide me code snippet for this kind of slider..?
as mozillanerd suggests you can use the jquery Plugin in your page along with any YUI code you have, otherwise you might have to roll your own. If you do put it up on the gallery so others can use it.
I found a similar widget in YUi i.e. YUI 2.x Carousel widget
http://developer.yahoo.com/yui/examples/carousel/csl_imagentext_source.html
maybe this will fit in my scenario. I will try this and let u know guys..!!

jquery and javascript native

am currently studying jquery, can someone tell me the things that javascript native can do which jquery cannot ?
In short: nothing
jQuery is an abstraction layer on top of plain JavaScript, it is JavaScript, it just adds a bunch of shortcuts to common tasks, usually in a highly optimized and cross-browser way.
It doesn't take anything away, you can mix and match all you want, jQuery simply adds to your options.
I'd take a look at the jQuery getting started documentation for more questions you might have like this.
jQuery is a library for Javascript which adds additional features.
It doesn't replace anything.
None i think. But there maybe some things that jQuery can do but JavaScript cannot.

Where can I learn jQuery? Is it worth it?

Locked. This question and its answers are locked because the question is off-topic but has historical significance. It is not currently accepting new answers or interactions.
I've had a lot of good experiences learning about web development on w3schools.com. It's hit or miss, I know, but the PHP and CSS sections specifically have proven very useful for reference.
Anyway, I was wondering if there was a similar site for jQuery. I'm interested in learning, but I need it to be online/searchable, so I can refer back to it easily when I need the information in the future.
Also, as a brief aside, is jQuery worth learning? Or should I look at different JavaScript libraries? I know Jeff uses jQuery on Stack Overflow and it seems to be working well.
Thanks!
Edit: jQuery's website has a pretty big list of tutorials, and a seemingly comprehensive documentation page. I haven't had time to go through it all yet, has anyone else had experience with it?
Edit 2: It seems Google is now hosting the jQuery libraries. That should give jQuery a pretty big advantage in terms of publicity.
Also, if everyone uses a single unified aQuery library hosted at the same place, it should get cached for most Internet users early on and therefore not impact the download footprint of your site should you decide to use it.
2 Months Later...
Edit 3: I started using jQuery on a project at work recently and it is great to work with! Just wanted to let everyone know that I have concluded it is ABSOLUTELY worth it to learn and use jQuery.
Also, I learned almost entirely from the Official jQuery documentation and tutorials. It's very straightforward.
10 Months Later...
jQuery is a part of just about every web app I've made since I initially wrote this post. It makes progressive enhancement a breeze, and helps make the code maintainable.
Also, all the jQuery plug-ins are an invaluable resource!
3 Years Later...
Still using jQuery just about every day. I now author jQuery plug-ins and consult full time. I'm primarily a Djangonaut but I've done several javascript only contracts with jQuery. It's a life saver.
From one jQuery user to another... You should look at templating with jQuery (or underscore -- see below).
Other things I've found valuable in addition to jQuery (with estimated portion of projects I use it on):
jQuery Form Plugin (95%)
jQuery Form Example Plugin (75%)
jQuery UI (70%)
Underscore.js (80%)
CoffeeScript (30%)
Backbone.js (10%)
Rick Strahl and Matt Berseth's blogs both tipped me into jQuery and man am I glad they did. jQuery completely changes a) your client programming perspective, b) the grief it causes it you, and c) how much fun it can be!
http://www.west-wind.com/weblog/
http://mattberseth.com/
I used the book jQuery in Action
http://www.amazon.com/jQuery-Action-Bear-Bibeault/dp/1933988355/ref=sr_1_1?ie=UTF8&s=books&qid=1219716122&sr=1-1 (I bought it used at Amazon for about $22). It has been a big help into bootstrapping me into jQuery. The documentation at jquery.com are also very helpful.
A place where jQuery falls a little flat is with its UI components. Those don't seem to be quite ready for primetime just yet.
It could be that Prototype or MooTools or ExtJS are as good as jQuery. But for me, jQuery seems to have a little more momentum behind it right now and that counts for something for me.
Check jQuery out. It is very cool!
A great resource for learning jQuery is: Learning jQuery. The author, Karl Swedberg, also co-wrote the book titled... ready? Yup, Learning jQuery. Remy Sharp also has great info geared towards the visual aspects of jQuery on his blog.
--SEAN O
I used Prototype for about six months before I decided to learn jQuery. To me, it was like a night and day difference. For example, in Prototype you will loop over a set of elements checking if one exists and then setting something in it, in jQuery you just say $('div.class').find('[name=thing]') or whatever and set it.
It's so much easier to use and feels a lot more powerful. The plugin support is also great. For almost any common js pattern, there's a plugin that does what you want. With prototype, you'll be googling for blogs that have the snippet of code you need.
It is very much worth it. jQuery really makes JavaScript fun again. It's as if all of JavaScript best practices were wrapped up into a single library.
I learned it through jQuery in Action (Manning), which I whipped through over a weekend. It's a little bit behind the current state of affairs, especially in regard to plug-ins, but it's a great introduction.
There are numerous JavaScript libraries that are worth at least a cursory review to see if they suit your particular need. First, come up with a short list of criteria to guide your selection and evaluation process.
Then, check out a high level framework comparison/reviews somewhere like Wikipedia, select a few that fit your criteria and interest you. Test them out to see how they work for you. Most, if not all, of these libraries have websites w/ reference documentation and user group type support.
To put some names out there, Prototype, script.aculo.us, Jquery, Dojo, YUI...those all seem to have active users and contributers, so they are probably worth reading up on to see if they meet your needs.
Jquery is good, but with a little extra effort, maybe you'll find that something else works better for you.
Good luck.
I found that these series of tutorials (“jQuery for Absolute Beginners” Video Series) by Jeffery Way are VERY HELPFUL.
It targets those developers who are new to jQuery. He shows how to create many cool stuff with jQuery, like animation, Creating and Removing Elements and more.
I learned a lot from it. He shows how it's easy to use jQuery.
Now I love it and I can read and understand any jQuery script even if it's complex.
Here is one example I like "Resizing Text"
1- jQuery:
<script language="javascript" type="text/javascript">
$(function() {
$('a').click(function() {
var originalSize = $('p').css('font-size'); // Get the font size.
var number = parseFloat(originalSize, 10); // That method will chop off any integer
// from the specifid varibale "originalSize".
var unitOfMassure = originalSize.slice(-2); // Store the unit of massure, Pixle or Inch.
$('p').css('font-size', number / 1.2 + unitOfMassure);
if (this.id == 'larger') {
$('p').css('font-size', number * 1.2 + unitOfMassure);
} // Figure out which element is triggered.
});
});
</script>
2- CSS Styling:
<style type="text/css" >
body{
margin-left:300px;text-align:center;
width:700px;
background-color:#666666;}
.box {
width:500px;
text-align:justify;
padding:5px;
font-family:verdana;
font-size:11px;
color:#0033FF;
background-color:#FFFFCC;}
</style>
2- HTML:
<div class="box">
Larger |
Smaller
<p>
In today’s video tutorial, I’ll show you how to resize text every
time an associated anchor tag is clicked. We’ll be examining
the “slice”, “parseFloat”, and “CSS” Javascript/jQuery methods.
</p>
</div>
I highly recommend these tutorials:
http://blog.themeforest.net/screencasts/jquery-for-absolute-beginners-video-series/
There are a number of resources to learn jQuery (which is completely worth it IMHO). Start here http://docs.jquery.com/Main_Page to read the jQuery documentation. This is a great site for seeing visually what it has to offer:
http://visualjquery.com/1.1.2.html. Manning publications also has a great book which is highly recommended called jQuery in Action. As far as JavaScript libraries are concerned, this one and Prototype are probably the most popular if you're looking to compare jQuery to something else.
I started learning by looking at jQuery extensions to see how other developers work with the jQuery language. It not only helped me to learn jQuery syntax but also taught me how to develop my own extensions.
jQuery worths learning!!! I recommend reading "Learning jQuery" and "jQuery in Action". Both books are great with expalanation and examples. The next step is to actually use it to do something. You will find official http://docs.jquery.com docummentation very useful. I use it as a reference, google it all the time :)
Also "Learning jQuery" blog mensioned by Sean is also very useful. Also jQuery HowTo is also has a great collection of jQuery code snippets.
I haven't seen JQ-Fundamentals - by Rebecca Murphey mentioned anywhere here.
It is a very good book. It also explains the fundamentals of JavaScript required to understand the basics of JQuery.
Jquery.com is well organized and has many great examples. You don't need to buy a book. I found it easy to pickup on the fly by just referencing website's documentation. If you're someone who learns best by doing, I'd suggest this approach.
And yes, it's absolutely worth learning. It'll save you a lot of time and you'll actually look forward to doing JavaScript work!
I use Prototype, which I like. I'm afraid I don't know jQuery, so I can't compare them, but I think Prototype is worth checking out. Their API docs are generally pretty good, in my experience (which certainly helps with learnability).
Hey, I am biased in that I now work with these guys, but Carsonified offers some great resources for people learning and improving their jQuery skill set.
Just next Monday there is an online conference on jQuery featuring John Resig himself - http://carsonified.com/online-conferences/jquery/
Also, they now offer video tutorials via their membership scheme on the Think Vitamin blog,
I know there's a lot of free resource out there, I guess the difference here is the quality of the content you get. hope it's useful!
Below link my be helpful for you if you know SQL (Only css selectors).
http://karticles.com/2011/06/learning-jquery-with-sql-basic-selectors
http://karticles.com/2011/06/learning-jquery-with-sql-attribute-selectors

Categories