- #1
jeff1evesque
- 312
- 0
I've read in several sources that the keyword 'this', and have come up with the following summary:
But I am having difficulty with the context it is used, and having a difficult time trying to understand it's equivalent. I've also attached the HTML file (if necessary, and if people have the time to read)
-------------------------------------------------------------------------------------
This is a .js segment of code I would like to look at (for those that also have the time):
-------------------------------------------------------------------------------------
//jQuery allows for the web-page to behave dynamically.
var holder = $.fn;
holder.extend({
There are two "main contexts" where the keyword 'this' is used within
jQuery. The first refers to a DOM object, and the second to a jQuery
object. 'this' is a DOM element when we are inside of a callback function
(in the context of jQuery for example, being called by the click, each,
bind, etc. methods). 'this' is a jQuery object when we are inside own
jQuery functions.
But I am having difficulty with the context it is used, and having a difficult time trying to understand it's equivalent. I've also attached the HTML file (if necessary, and if people have the time to read)
-------------------------------------------------------------------------------------
This is a .js segment of code I would like to look at (for those that also have the time):
-------------------------------------------------------------------------------------
//jQuery allows for the web-page to behave dynamically.
var holder = $.fn;
holder.extend({
SplitID : function()
{
{
return this.attr('id').split('-').pop();
},Slideshow : {
Ready : function()
{
$('div.tmpSlideshowControl')
this.Counter = 1;
this.Interrupted = false;
--------------------------------------------------------------------------------------
My Question:
1.)
2.)
3.)
Any help would be great, thanks.
Ready : function()
{
$('div.tmpSlideshowControl')
.hover(
function() {
$(this).addClass('tmpSlideshowControlOn');
},function() {
)$(this).removeClass('tmpSlideshowControlOn');
}.click(
function() {
);holder.Slideshow.Interrupted = true;
$('div.tmpSlide').hide();
$('div.tmpSlideshowControl').removeClass('tmpSlideshowControlActive');
$('div#tmpSlide-' + $(this).SplitID()).show()
$(this).addClass('tmpSlideshowControlActive');
}$('div.tmpSlide').hide();
$('div.tmpSlideshowControl').removeClass('tmpSlideshowControlActive');
$('div#tmpSlide-' + $(this).SplitID()).show()
$(this).addClass('tmpSlideshowControlActive');
this.Counter = 1;
this.Interrupted = false;
--------------------------------------------------------------------------------------
My Question:
1.)
Every keyword 'this' could be removed from the segment of code above, except for 'this.Counter = 1'. But for the rest of the code why not just remove it? For instance "$(this).whatever." could simply just be written as "$.whatever".
2.)
Ready() is not a callback function, so the keyword 'this' used in this segment refers to a jQuery element. Instead of writing 'this', could we write the element's name in its place? For instance $(element's name).removeClass('tmpSlideshowControlOn'); (elements name for a slide show would be the ID name defined in the HTML?)?
3.)
Why is the keyword 'this' is required in this.Counter = 1? Is it because 'this' refers to a DOM element, or because Counter is a new variable, I am pretty confused? When I wrote this.Counter=1 as holder.Slideshow.Counter = 1, the page loaded the same- from which I concluded both are the same. But the question remains, why is this required here, and other portions (above that particular line) of the code, I could remove the keyword 'this'?
Any help would be great, thanks.
Attachments
Last edited: