Send A Loop Variable (i) To A Function Inside The Loop
Aug 4, 2011
I'm looking to send a loop variable (i) to a function inside the loop, but I can't seem to get it to use the value I want, it keeps making it a reference of i and therefore the function is always called using the last value of i rather than the one it was set with.
So if i have 5 Tabs then Tab 1, when clicked, should call DefaultTabClick(0) and so on rather than always using 4 for any of the tabs.
I'm having some problem with return value for a function. I'm trying to access google blogger's API to display blog entries on my site. I'm doing this through JQuery and requesting a JSON response. Everything seems to work ok, but I want to access the link for the blog entry. This is a subset of the "entry" object.
I want to get the link where the "link.rel == "self". To do this I have to loop through the link object (5 times). The loop and conditional statement works correctly, but I can't get the variable inside this loop back to my original function.
I have this code: $.each(data.feed.entry, function(i, entry){ $.each(entry.link, function(j, link){ if(link.rel == "self"){ var postlink = link.href; alert("link : " + postlink); return postlink; }}); alert(postlink); });
I know that each of the objects in the array have data because I tried to run each one of the lines above separately without calling the other two and it worked fine.
I have a simple HTML page with one DIV element with the id "rotator". Inside that, JavaScript is supposed to create boxes that react to mouseovers.
The weird thing is: The whole script works, but ONLY on the LAST box I create, no matter what I do. I can manually add the mouseover code to any one of these boxes, but it will only take on the last one. I can have JavaScript tell me the mouseover status of each box, and they all tell me they have code assigned correctly - but again only the last one works...
Here's the relevant code (yes, highly abbreviated, but it's the part that fails on me):
var maxBoxes = 10; function initSite() { var rotator = document.getElementById("rotator"); rotator.innerHTML = "";
[Code]....
initSite is called in the body onload. All kinds of other animation parts are implemented that work fine, just this mouseover won't work. I have tried re-writing it in multiple different ways, including "xyz.onmouseover = myMouseCode" and then defining the function separately later - still no dice.
So, the code creates 10 boxes (0-9) and 10 boxes that are on top of them to create a form of shadow effect depending on the position of the original boxes. Since the "myDark" boxes are on top of the "myBox" boxes, I apply the onmouseover onto the "myDark" boxes, but it only works on "myDark9" and no other box. They are all created the same way, the mouseover assigned the same way...
I'd like to ask how can i ask for a function inside a for loop , if i remove the loop the code works fine but i need it for 10 rows .here is the code...
I have been looking at this code for two evenings now, and rewrote it 4 times already. It started out as jQuery code and now it's just concatenating strings together.
What I'm trying to do: Build a menu/outline using unordered lists from a multidimensional array.
What is happening: Inside the buildMenuHTML function, if I call buildMenuHTML, the for loop only happens once (i.e. only for 'i' having a value of '0'.) If I comment out the call to itself, it goes through the for loop all 3 times, but obviously the submenus are not created.
I'm trying to make it so when you click a cell in a table it runs a function based on the value within that cell. With the current code, no matter what cell is clicked, the alert box displays the same number, which is the last number in my array. The variable, princ, is just being overwritten rather than writing code to each the cell with the proper value.
i'm having trouble with some of my codes.i've been trying to put variables in function calls parameters, but it just does not work. for example, if I try to do sth like this:
Code: //a function that creates page numbers based on number of pictures that can be shown on the page function MenuBar() { pageSpan = [document.createElement('span')];[code]....
when i try to run it, it won't work.what i'm trying to do is that every time the loop runs, the "onclick" event of the created span will be the value of the loops "x" variable -1, and the value of x variable.meaning, for every new span, the parameters in the showImage() function are different.
Code: pageSpan[1].onclick = function () { showImages(0, 1) }; pageSpan[2].onclick = function () { showImages(1, 2) }; pageSpan[3].onclick = function () { showImages(2, 3) }; pageSpan[4].onclick = function () { showImages(3, 4) }; pageSpan[5].onclick = function () { showImages(4, 5) };
I'm currently trying to produce an HTML table from an XML feed, using jQuery. And this works great! With an "each" loop, there now is a nice table on my screen, displaying the right information from the feed.
I would like for each new row of this table to have a separate color. For example: row 1 - blue row 2 - green row 3 - blue again row 4 - green again ... and so on...
What I've tried, is putting something like this inside the loop: var x=0 (this line should probably be outside of the loop, but that doesn't seem to work) if (x=0) code 1... x=x+1 else code 2... x=x-1 But this doesn't work.
I have a theoretical question, I can't really post my code. But I have four results from reads to a database using php. I then read from an xml file using javascript using a loop. I am basically creating a chart of four variables with several different values for each variable. Some of the values for each variables come from the database using php, and some come straight off the XML file parsing done by the javascript. I initially had the php fetch/extract inside of the javascript loop, but it only assigned the first variables values to all the other variables. I discovered (after hours of googling) the difference between client side and server side code. So, after all this typing, my question is where should I look for tutorials on using Ajax to be able to use php code inside of a javascript loop? (If at all possible)
I've always wonder if there is diference when declaring and initializing a varible inside/outside a loop.
What's a better practice? Declaring and initializing variables inside a loop routine, like this:
for(var i=0; i<list; i++) { var name = list[i]; }
or outside a loop routine, like this:
var i; var name;
for (i=0; i<list; i++) { name = list[i]; }
or are both the same....
As a programmer, i always try to practice good programming. I always thought that by declaring and initializing the variable inside the loop, i was creating a new memory space every time instead of just 1 time...
I am trying to understand the order of operations of a for loop.
for (count=1;count<3;++count) { document.write(count + ". nice rack.") }
when this runs it prints:
1. nice rack. 2. nice rack.
I dont understand how it prints 1. The way I see it it sees the for looks inside the parenthesis, assigns count a value of 1, goes to the comparison sees that it is less than 3, then gets incremented by 1 at the next station, and then finally goes in the curly brackets and the string is written. So if it starts with 1, is less than 3, and is increased by 1. before it starts the loop, then the first sentence would read:
I have the code below, how could it be modified to loop over and over and reload the xml file each time. Flow would be: load xml, run thruogh code to display each xml node one at a time, when reach last node, start all over, reloading xml file,
I am calling a program using $.getJSON() inside of a for loop. The problem is that the second callback doesn't wait for the first program to finish before it executes. Is it possible to ensure that the second iteration of the loop doesn't happen until the first one is finished?
$('#dialog-form').dialog({ buttons: { "Import": function() { var ids = $("#itemsGrid").jqGrid('getGridParam','selarrrow');
Trying to add a new property to a non-jQuery object from inside each loop doesn't appear to work: var arguments=new Object(); arguments['ticket']=ticket; arguments['email']=email; arguments['module']=module; arguments['epoch']=new Date().getTime();
var total=0; $('select.category').each(function(){ var name=$(this).attr('id'); var option=$(this).find('option:selected').val(); total+=parseInt(option); arguments[name]=option; });
The 'total' variable works as expected. The the 'arguments' variable doesn't. Almost like a variable scope issue or something. If I put some extra debug code to print out all the property/value pairs, outside each loop I only see original four, and inside each loop only the new one just set and none of the original four.?
My function: function swap_content(id1,id2) { var tmp = document.getElementById(id1).name; var theval = document.getElementsByName('primary_propertyp_id')[0].value; document.getElementById(id1).name =
[Code]...
This is running through a PHP loop so it's making multiple divs and links for the secondaries. I am wanting to be able to swap out any of them to make them 'primary' this works for the first click, but after the first click it makes every div id and input name the same as the first that was clicked. It's also not working AT all if i click on the bottom link first, then a link above it. Top-down works, bottom-up doesn't..
The following loop works: Code: <html> <body> <script type="text/javascript"> var i=0; for (i=0;i<=5;i++) { document.write("The number is " + i); document.write("<br />"); } </script> </body> </html>
But the following doesn't: Code: <html> <body> <script type="text/javascript"> var i=0; var x="i=0;i<=5;i++" for (x){ document.write("The number is " + i); document.write("<br />"); } </script> </body> </html> I'd just like to create a simple variable.
and what i want to happen is the variable number to update so that the user can see how many times the loop has run in real time. If you have to change the code around for it to work that is fine as i can adapt my code to it And obviously this script has no real function to it, it is just an example to show the jist of my actual code(don't think you want to look at a few hundred lines now do you)