JQuery :: InArray Function Always Returns -1?
Nov 23, 2010In Firebug when I rollover the SelectList variable it certainly looks like an array.
[Code]...
In Firebug when I rollover the SelectList variable it certainly looks like an array.
[Code]...
I have a little question about multimensional array: I've this array
[Code]...
I am having a strange problem with a javascript function that does not return the value but returns the code inside the function. My best guess is that I am incorrectly calling the function hasLandedOn()and jquery is interpeting it. Why is this happening? I highlighted the parts in red.-Tom ReeseThe following is returned NOT the variable imageName.
function hasLandedOn(){
var selectorLoc = $("#selector").offset();
var imageName = "";
[code]....
me what I may be doing wrong here?
var dateList = new Array();
dateList.push(new Date(2009,7-1,29));
dateList.push(new Date(2009,7-1,30));
[code]...
Either I'm having a really dim Friday, or something strange is going on. I'm trying to add a method to the Validator plugin, using the following regex:
[Code]....
I'm using inArray() to check an XML tag against an array called status[]. If the result != -1, then do one set of instructions, else, the item is 'available' so do another set of instructions. Each entry of my XML document has a <status> tag, which will contain one of 3 values, or a 4th option 'available'. I have an array setup called status['sold', 'pending', 'reduced']. If the <status>.text() is one of these 3 values, then we'll get the array position, if it's 'available' we should get -1.
When I run this in Firefox (3.6) & IE (8.0 or Comp Mode) it works fine. However, when I run this in Safari (4 or 5) & Chrome, it returns the value -1 for each of the entries. The 3rd, 5th, & 7th entries are all set to <status> 'sold' and inArray() should be returning a 0.
[Code]...
Today I've tried to create simple hover effect on a <div>: if the cursor is over the box, the background-image css property of the div is modified. On the HTML side, a <div> with an id:
<div id="round">Blah blah
</div>
I am trying to make a function that will return part of some xml data, but It keeps returning "Undefined" here is the function, with the call:
Code:
function getUserInfo(u, t) {
$.ajax({
type: 'GET',
[code]....
I want to call java function in javascript.In which we pass one parameter to function and its returns String value which I want to display in alert message.
View 2 Replies View RelatedI have a for loop which has a length of 8. It's meant to run through an array of objects and bind a click function to all of them. So the alert should run a range 0-7 but instead it returns 8 no matter which object is being clicked.
for (var j = 0; j < bubbleArray.length; j++) {
$('#icon' + j).bind('click',function() {
var icon = this.id;
this.diam = $(this).width();
[Code].....
The goal is to change the source on the fly (as with a firefox extension webdev or another or even Greasemonkey) to add a link. Until then, easy does it work well. This link launches an application ajax jquery like:
$.get(...) or even $.ajax(...)
If I'm on [URL], added my link, I click and it works, I see the ajax request and pass my "alert ()" gives me the return of application. Great! But if I'm on a site other than mine (the url of the ajax request is [URL] while I'm at [URL] for example), the return of the ajax request is empty.
Clearly I am invoking this wrong.
[Code]...
i wrote code below, but it always return -1,
var arr = {
11: {
2: 'value1',
3: 'value2'
[Code].....
I am trying to taking this embedded script
Code:
<SCRIPT LANGUAGE="JavaScript">
<!-- Begin
var strDay;
if ((now.getDate() == 1) || (now.getDate() != 11) && (now.getDate() % 10 == 1)) // Correction for 11th and 1st/21st/31st
strDay = "st ";
else if ((now.getDate() == 2) || (now.getDate() != 12) && (now.getDate() % 10 == 2)) // Correction for 12th and 2nd/22nd/32nd
strDay = "nd ";
else if ((now.getDate() == 3) || (now.getDate() != 13) && (now.getDate() % 10 == 3)) // Correction for 13th and 3rd/23rd/33rd
strDay = "rd ";
else
strDay = "th ";
document.write(dayName[now.getDay()] .....
// End -->
</script>
and turn it into a function called time.
XHTML Source
Code:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "[URL]">
<html xmlns="[URL]" xml:lang="en">
<head>
<title>Test</title>
</head>
<body>
<strong><script type="text/javascript">time()</script></strong>
</body>
</html>
Javascript Source
Code:
function time() {
var strDay;
if ((now.getDate() == 1) || (now.getDate() != 11) && (now.getDate() % 10 == 1)) // Correction for 11th and 1st/21st/31st
strDay = "st ";
else if ((now.getDate() == 2) || (now.getDate() != 12) && (now.getDate() % 10 == 2)) // Correction for 12th and 2nd/22nd/32nd
strDay = "nd "; .....
But when I do the out put returns nothing. Why this might be. I initially thought that I had the formattingsyntax wrong for the function it self but this doesn't seem to be. [URL]
I have four images:
Code:
<div class="main_view">
<div class="window">
<div class="image_reel">
<a href="#"><img src="images/1.png" alt="" /></a>
<a href="#"><img src="images/2.png" alt="" /></a>
<a href="#"><img src="images/3.png" alt="" /></a>
<a href="#"><img src="images/4.png" alt="" /></a>
</div></div>
When rotateSwitch() is called on launch, it assigns the second image to the $active variable (given that the first image was given active class in beginning of script). Then rotate() function is called and we get 1 (2-1) and then multiply by imageWidth. Now the second time the rotateSwitch() function is called, we should get 2 (3-1), but the alert still only returns 1 and the fourth time it only returns 1 as well:
Code:
$(document).ready(function(){
$(".paging").show();
$(".image_reel img:first").addClass('active');
var imageWidth = $(".window").width();
var imageSum = $(".image_reel img").size();
var imageReelWidth = imageWidth * imageSum;
$(".image_reel").css({'width' : imageReelWidth});
rotate = function(){
var triggerId = $active.attr('src').substring(7,8);
var image_reelPosition = (triggerId - 1) * imageWidth;
alert('the value is ' + triggerId);
$(".image_reel img").removeClass("active");
$active.addClass("active");
$(".image_reel").animate({
left: -image_reelPosition
}, 500);
};
rotateSwitch = function(){
play = setInterval(function(){
$active = $(".image_reel img.active").next();
if ($active.length === 0){
$active = $('.image_reel img:first');
}
rotate();
}, 7000);
};
rotateSwitch();
});
Suppose we have following javascript codes: Case 1.
var foo = function (){
var x = "hello";
var bar = function () {
alert(x);
} return bar;
} var bar_ref= foo();
document.write(bar_ref()); // it pops up "hello" and print-outs "undefined".
If we modified above code slightly, shown as follow: Case 2.
var foo = function (){
var x = "hello";
var bar = function () {
alert(x);
} return bar();
} var bar_ref= foo();
document.write(bar_ref()); // it only pops up "hello".
As you can see, Case 2 modified the return value from "return bar" to "return bar()," which won't cause the "undefined" output. To me, it looks like when the JS interpreter executes the line "bar_ref();" it triggers the execution of function "foo", besides both "return bar" and "return bar()" do the same job which is to execute function body of "bar".
The only difference is that after the execution of function bar, its function body does not exist anymore, so when the interpreter executes the line "return bar;" it follows the function identifier "bar" and ends up with "undefined". This is why the Case 1 gives us "undefined", but I am not quite clear about why the Case 2 can trace down to the function body of "bar". Do you have any ideas about such difference outputs?
When I run the following code, the .Length function returns "undefined."
var strTest = 'test';
alert(strTest.Length);
Using the typeof function, I know that JS is treating the variable as a string.
Here is a code I use to calculate distance b//w 2 places using google api. It works perfectly and shows the results in the html but when I add a return statement at the end of the function showlocation() it returns undefined.
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "[URL]">
<html xmlns="[URL]">
<head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8"/>
<meta name="robots" content="noindex,follow" />
<title>Calculate driving distance with Google Maps API</title>
<script src="[URL]" type="text/javascript"></script>
<!-- According to the Google Maps API Terms of Service you are required display a Google map when using the Google Maps API. see: [URL] -->
<script type="text/javascript">
var geocoder, location1,addr1,addr2, location2, result1,gDir;
function coolAl(add1,add2) {
addr1=add1;
addr2=add2;
var result= return initialize();
showLocation();
alert(result);
} function initialize() {
geocoder = new GClientGeocoder();
gDir = new GDirections();
GEvent.addListener(gDir, "load", function() {
var drivingDistanceMiles = gDir.getDistance().meters / 1609.344;
var drivingDistanceKilometers = gDir.getDistance().meters / 1000;
result1=location1.address + ' (' + location1.lat + ':' + location1.lon + ')/' + location2.address + ' (' + location2.lat + ':' + location2.lon + ')/' + drivingDistanceKilometers + ' kilometers';
document.body.innerHTML=result1;
return drivingDistanceKilometers;
});
} function showLocation() {
geocoder.getLocations(addr1, function (response) {
if (!response || response.Status.code != 200) {
alert("Sorry, we were unable to geocode the first address");
} else {
location1 = {lat: response.Placemark[0].Point.coordinates[1], lon: response.Placemark[0].Point.coordinates[0], address: response.Placemark[0].address};
geocoder.getLocations(addr2, function (response) {
if (!response || response.Status.code != 200) {
alert("Sorry, we were unable to geocode the second address");
} else {
location2 = {lat: response.Placemark[0].Point.coordinates[1], lon: response.Placemark[0].Point.coordinates[0], address: response.Placemark[0].address};
gDir.load('from: ' + location1.address + ' to: ' + location2.address);
}});}});}
</script></head>
<body onload="coolAl('pune','mumbai')">
</html>
<script>
// Declared Constants
MORSE_ALPHABET = new Array (
'.-', // A
'-...', // B
'-.-.', // C
'-..', // D
'.', // E
'..-.', // F
'--.', // G
'....', // H
'..', // I
'.---', // J
'-.-', // K
'.-..', // L
'--', // M
'-.', // N
'---', // O
'.--.', // P
'--.-', // Q
'.-.', // R
'...', // S
'-', // T
'..-', // U
'...-', // V
'.--', // W
'-..-', // X
'-.--', // Y
'--..' // Z
);
CHAR_CODE_A = 65;
var CTS = prompt('Enter Morse code','here')
var inMessage = CTS.split(' ');
searchLocation(inMessage,MORSE_ALPHABET)
function searchLocation(targetValue, arrayToSearchIn) {
var searchIndex = 0; // Iterative counter
for(i=0;i < targetValue.length;) {
targetValue = targetValue[i];
// Search until found or end of array
while( searchIndex<arrayToSearchIn.length && i != targetValue.length &&
arrayToSearchIn[searchIndex]!=targetValue) {
i++searchIndex++;
} if(searchIndex<arrayToSearchIn.length) {
return String.fromCharCode(CHAR_CODE_A + searchIndex);
} else {
return -1;
}}}
document.writeln(searchLocation(inMessage,MORSE_ALPHABET));
</script><head></head><body></body>
This is my code and I have figured it to create an array from the prompt and then use the function to return the first array it finds but I cant seem to make it go on to the next index of the array. I know that when you return a value the function closes and I have tried to store my return in a variable but its not working the way I want it to or I'm not writing the correct command or is there away to do multiply returns, I think what I need to do is simply but I have been staring at this screen for a while now and just cant see it.
How would you go about writing a function that returns a string that outputs a branched bulleted list using <ul> and <li> tags of all the html elements in a page? The html elements don't all have id's or names, so I cannot reference them directly. I would like to do it recursively so that I can grab all the elements, not just those two or three levels deep.
[Code]...
I have a simple form here with a function to validate it, but I have no idea where I'm going wrong. I'm very familiar with ActionScript and C++, so I get the coding aspect of it, but one thing I'm not familiar with is how exactly JavaScript and HTML communicate. The problem is that this form always submits, even if my function returns false...but I can't even see if it returns false anyway, because alert() doesn't seem to be working either.
Here's what I have for my HTML:
I am trying to declare a variable inside a function and use it later on in my code... but it just already returns white space... i.e. not variable value. I am setting it within this function:
function show_video1(){
document.getElementById('video1').style.display="block";
var video1Name = "Education World News (Part 1)";
document.getElementById('video2').style.display="none";
document.getElementById('video3').style.display="none";
document.getElementById('video4').style.display="none";
[Code]...
and trying to call it later on with this: <script type="text/javascript">document.write(video1Name)</script> It might be worth noting that each one of my 11 videos will hace a different name.
In the below code, the alert message returns in one instance: 'someAnimal is [Mammal "Mr. Biggles"]' I don't understand how this is possible. We pass as an argument 'Mr. Biggles' to the Mammal constructor. Then assign it to the object name property. But then it ends there. There is a function called toString which will return the alert. But the toString function is not being called like this: alert('someAnimal is '+someAnimal.toString()); If it was like how it is above, it would make sense to me but now it makes no sense to me because I don't see where that toString() is being called - I only see that it is prototyped to the Mammal object.
Code:
function Mammal(name){
this.name=name;
this.offspring=[];
}
Mammal.prototype.haveABaby=function(){
var newBaby=new Mammal("Baby "+this.name);
this.offspring.push(newBaby);
[Code]....
I am trying to retrieve data from an XML using this code.
$.ajax({
type: "GET",
url: "http://beermapping.com/webservice/loccity/bb6c5a3fc5baea379be645636e8e6324/Barcelona",
[code]....
I'm working on a project that requires me to take numerous classes and put these within a list-item. I have been trying to do this with different methods, such as before, insertBefore and Prepend. All these methods have had the same result.
Instead of inserting a single <li> in front of the class, a complete list-item has been inserted (<li></li>.
this is the code I'm using:
<script type="text/javascript">
$(document).ready(function(){
$('.ngg-gallery-thumbnail').insertBefore('<li>');
[code]....
I'm brand new to jquery, and am trying to set up a dynamic navigation dropdown which is populated with XML by our system (which I can't change.) For some reason, IE6 is showing space where the unused <li></li> tags are. I am trying to create a jquery code which will detect whether or not a link is present in the <li> so I can turn the display off or on dynamically. The relevant jquery code is here:[code]It should eventually appear like this, the way it does in Firefox due to CSS styling:[code]Which means that somehow, it is reading the <a> even when there isn't one.
View 4 Replies View Related