Object Members That Are Prototyped As Arrays Become Shared By All Class Instances?
Dec 12, 2010
Has anyone noticed this behavior before? This really threw me off... I would have expected prototyped arrays to be private to each class instance rather than shared between all class instances.
HTML Code:
<html>
<head>
<script type="text/javascript">
[Code]....
View 3 Replies
ADVERTISEMENT
Apr 18, 2006
What're the members of the error class/object? Is there a complete reference to all JavaScript objects available on the Web?
View 6 Replies
View Related
Nov 6, 2011
I am creating a game in JavaScript!
It is going to be a clone of the game ChuChu Rocket! that I used to play on the Dreamcast.
The game is set up so that the levels sit inside a nested array of objects, like your typical JSON string. So that within levels[] there are objects with level names, an array of moveable items, an array of arrows you can place, etc.
I have set it up so that when the level is loaded in to the DOM, it also duplicates a part of the object, the part responsible for the positioning of the moveable items on screen so that when they are animated, and if there is a fail scenario (cat eats mouse, cat gets to rocket before mouse) you should be able to reset and it remembers your coordinates.
From what I have learned in my years of studying and using JavaScript, the following should always hold true: a=1; b=a; b++; // b would become 2, a would stay as 1 (they are separate variables)
I seem to have found an exception to this rule.
When creating a level, I duplicate the part of my object called o.chuchu and I call it o.chuchuMoving
If I make a change to anything in o.chuchuMoving, it also changes o.chuchu.
o.chuchu and o.chuchuMoving are arrays within the object. Formatted like this: [0,0,1],[1,0,1],[2,0,1],[3,0,1] ... etc
If I tell my object the following: o.chuchuMoving[0][0]=1... then o.chuchu[0][0] also becomes 1.
Please check the code at [url] when you get a moment
View 6 Replies
View Related
Sep 20, 2006
I've spent several days trying to work this out. Maybe I'm just
searching for the wrong keywords/phrases.
I have some code that looks like:
[-- snippet starts --]
Console = new Object();
Console.init = function() {
this.STDIN = document.getElementById('console0_stdin');
this.STDOUT = document.getElementById('console0_stdout');
// set styles on the element references, eg:
this.STDIN.style.width = ï`%'
this.STDOUT.style.width = ï`%'
}
Console.focus = function() {
this.STDIN.focus();
}
Console.writeln = function(buffer) {
this.STDOUT.value += "
" + buffer;
}
[-- snippet ends --]
I'm not sure why, but the Console.focus() and Console.writeln() methods
just don't seem to be able to use the DOM references stored in
Console.STDIN and Console.STDOUT. Everything's fine in the
constructor, but other methods can't seem to use them.
View 8 Replies
View Related
Nov 26, 2005
I've recently been following the object-oriented techiques discussed
here and have been testing them for use in a web application. There is
problem that I'd like to discuss with you experts.
I would like to produce Javascript classes that can be "subclassed"
with certain behaviors defined at subclass time. There are plenty of
ways to do this through prototyping and other techniques, but these
behaviors need to be static and protected. By protected this means
that they can be overridden (or reassigned) in subclasses, and
privileged subclass methods can access them, but callers external to
the class cannot.
I've been attempting to define a factory function that transfers its
parameters to an anonymous object while defining the constructor in a
-with- block. (This is what I'm loosely referring to as "subclassing"
- it's really object composition.) This works, but not for
externally-defined functions. They can't see the protected static
members....
View 11 Replies
View Related
Feb 5, 2010
I have two result. SelectableChildren: groupHead.nextAll(".SimpleButton") and SelectableChildren: groupHead.nextAll(".SimpleButton").next().children(".SimpleButton")
I would like to combine them into one object so that I can bind a handle to them in one loop. $.each(combineResult, function(index, object){ ... })
I have to make them in one, so that I can pass it around.
View 12 Replies
View Related
Apr 8, 2011
I define a base class that only contains an array "elements", and a derived class that contains nothing more (for simplicity):
function baseClass() {
this.elements = new Array;
}
function derivedClass() {
[Code]....
then I get a.elements = {"A","B"} and b.elements = {"C","D"}, as I would expect.
View 5 Replies
View Related
Sep 8, 2006
I'm trying to access some of the global's inside my class LiveSearch
and I have no idea how to go about it. Here is what I have so far:
<script type="text/javascript" src="query.js"></script>
<script type="text/javascript">
function LiveSearch(global) {
this.theglobal = global;
this.initialize();
}
LiveSearch.prototype.initialize = function() {
$("#thebutton").mousedown(function() { //when we click the button
alert(this.theglobal);
});
}
$(document).ready(function() {
var objSearch = new LiveSearch("globalvalue");
});
</script>
On page load I create a new LiveSearch instance and it assigns
theGlobal = "globalvalue" and proceeds to initialize(); At this point
Im using JQuery to setup an onmousedown event on a button on my page
with id="thebutton". When I click the button the alert comes back with
'undefined'. How can I get direct access to my theglobal variable? Code:
View 1 Replies
View Related
Feb 10, 2011
Trying to figure out OO programming for JavaScript and I'm totally lost.
Here's what I'm trying to do:
I'm posting search data to a PHP form to run a query on a database.
The structure is sort of like this:
So I'm thinking I need to create search objects or arrays. Initially, I thought I could do something like this:
Code:
This doesn't seem to work. It says object not defined whenever I try to do something.
I've also tried creating a JSON object like this:
Code:
This will allow me retrieve the data like I want to:
Code:
The problem is I can't figure out how to add data to the JSON object without manually typing it in. I need to be able to loop through form elements on my HTML page and set them to these variables. I'm using jQuery and doing something like this:
Code:
View 7 Replies
View Related
Jun 29, 2010
how to search through siblings for shared attributes I have a a long list of links and I suppose Im going to apply a number of classes to each one [describing a number of attributes for each] and I want to do a conditional search probably in javascript/jquery so that when i hover over one of the links I highlight its relatives - those that have the same attributes.
What Im having trouble wrapping my head around is the idea of classes to ID these custom attributes. The attributes are coming from a database converted to XML. In my Javascript I essentially want to say that
for each link should the user mouseover or mouseclick for each of its sibling links if its sibling link share its attributes style or highlight these compliant siblings a certain way
how do I do the 'if statement' without spelling out every possible attribute entry? I know in plain OOP Java how I could test for this but in that scenario I have access to these entries as fields in an object's instantiation.
View 5 Replies
View Related
Apr 30, 2009
A remotely shared white board, using regular JavaScript,jQuery, the canvas element and PHP.I (or someone else) can get this thing working.The new 8:25 a.m. (US CST) version in http:[url].... should work -- though I still have not seen it work, perhaps.
View 2 Replies
View Related
Jul 9, 2010
To have multiple linked sliders that all share a maximum value, for example, I would have 10 sliders, each set to 50, with a pool of 10 additional points to spend. If I assign all 10 points to 1 slider, the other 9 are locked out, or I could spend 1 point on each slider.
View 1 Replies
View Related
Mar 2, 2011
I'm trying to create an extensible class with private members.
Suppose I have the following:
Code:
Obviously, only "y" should be available to instantiations:
Code:
But how can I now extend this class and still access the private properties inside the extension?
Code:
How do I access x there? The someOtherFunction extension is part of the prototype, so it should be in the same scope as someFunction, no?
View 1 Replies
View Related
Feb 14, 2011
Is there anyway to have a CSS class returned as an object? This would be rather useful to feed, for example, to the .animate() function. There is no way to animate directly to a CSS class as destination, is there?
View 5 Replies
View Related
May 21, 2011
i have this code for changing the class of object 1 as mouse comes over object 2, the class changes back when mouses goes out.
Code:
<SCRIPT type="text/javascript">
function changeClass(floor3)
{
var obj = document.getElementById(floor3);
[Code].....
View 3 Replies
View Related
Sep 23, 2011
I have an array of divs, and can do a style change on them:
var Ray = new Array("first", "second", "nth");
function bluRay() {
$('#' + Ray.join(',#')).animate({color: '#00f'}, 600);}
( The divs don't share a class, and it'd be code-heavy to add classes for all the necessary variations on this function. )
How to make the operation on the divs sequential, at say, 500ms intervals?
View 2 Replies
View Related
May 6, 2011
I am currently using this code on a webpage that lists the site members.
function toggleMenu(objID) {
if (!document.getElementById) return;
var ob = document.getElementById(objID).style;
[code]....
View 3 Replies
View Related
Apr 22, 2007
I have a javascript object which dynamically generates a table adding, deleting and moving rows as the user clicks on buttons or links. Problem is when I generate a table row and add the javascript method call to my class, I have to put the object instance name variable of the class in order for it to be called from the onclick=function(). This is seriously limiting, but I'm stuck for a way round it. Heres a edited of the code so you get the idea....
Instantiating the object :-
var dtl = new DynamicTableList("table1", $
{myObject.allFieldsAsJavaScriptArray}, true, true, true);
My javascript class DynamicTableList, note the dtl javascript object
instance variable being referred to in the addRow function. How can I
avoid this???
function DynamicTableList(thisObjName, tableName, options, showDelete,
showUp, showDown)
{
this.processRow = function(r, row, up, down)
{
...
};
this.processRows = function()
{
...
};
this.getVisibility = function(visible)
{
...
};
this.delRow = function(button)
{
...
};
this.addRow = function(selection)
{
...
if (showDelete)
{
var cell2 = document.createElement('TD');
var inp2 = document.createElement('IMG');
/
************************************************** ***********************************************/
inp2.onclick=function(){dtl.delRow(this);} // Have to specify
dtc!!!!!!!!
/
************************************************** ***********************************************/
inp2.title='Delete'
inp2.alt='Delete'
inp2.src='images/delete.gif'
cell2.appendChild(inp2);
row.appendChild(cell2);
}
...
tbody.appendChild(row);
this.processRows();
};
this.moveRow = function(node, vector)
{
};
}
Obviously the code dtl.delRow(this); is being dynamically generated, but how do I replace the dtl instance name with something that'll work whatever the user of this class calls the instance of it!
View 2 Replies
View Related
Feb 26, 2010
I have an each loop that goes through all the elements in a certain class. What I need to do is get the ID of the current element in the each loop, but I can't seem to figure out how to. var currentID =$(this).attr ("id"); was my first assumption, but it's not working. [code]The css is just for debugging, not the goal, so alternate ways for me to do that won't help.
View 1 Replies
View Related
Oct 25, 2011
I am working on a Master-Detail grid that allows users to click on master rows to show or hide details rows. [code]What I want to do is to add Expandable class to SummaryRow if it's collapsed, add Collapsible class if it's expanded. But I don't know how to do that.
View 1 Replies
View Related
Nov 18, 2010
I've been writing a slideshow script that I've had working perfectly on my mac in Chrome and Safari, however I went to look at it in IE8 and lo and behold it falls over. It says 'object doesn't support this property or method' in relation to the new SlideShow line in the main() function.
View 3 Replies
View Related
Jun 17, 2009
I have a form that is done in php I'm converting it to .NET but the java script has an error. I posted all the code but the error is in the "saveOtherSurvivorValues" function i think. What happens is when you click the "add survivor" link to add a the first survivor and then fill out the information for the first survivor then click add survivor a second time for a second survivor it moves the data from the 1st survivor into different fields to produce in accurate data.
Here is a link to the live form.
[URL]
using System;
using System.Collections;
using System.Configuration;
using System.Data;
[Code]....
View 7 Replies
View Related
Jun 17, 2009
I have a form that is done in php I'm converting it to .NET but the java script has an error. I posted all the code but the error is in the "saveOtherSurvivorValues" function i think. What happens is when you click the "add survivor" link to add a the first survivor and then fill out the information for the first survivor then click add survivor a second time for a second survivor it moves the data from the 1st survivor into different fields to produce in accurate data.
using System;
using System.Collections;
using System.Configuration;
[code].....
View 7 Replies
View Related
Nov 27, 2002
The problems with the setTimeout and setInterval functions provided in Javascript are twofold. First, you can't call a local object method without losing your scope, and second, you can't pass objects to the function, since the function call is implemented as a string.
The Timer class solves these difficulties by employing a static array to store the parent object and function arguments until the function is called.
This class is provided as-is and pro bono, so go ahead and muck with it if you see things that could be done better.
Thanks to WA for giving me the idea for this (albeit indirectly)!
Updated 4/18/2003: Footprint decreased, minor code improvements.
Updated 5/3/2003: Minor comment clarification; no code changes.
Updated 5/10/2003: Minor code improvements.
// The constructor should be called with
// the parent object (optional, defaults to window).
function Timer(){
this.obj = (arguments.length)?arguments[0]:window;
return this;
}
// The set functions should be called with:
// - The name of the object method (as a string) (required)
// - The millisecond delay (required)
// - Any number of extra arguments, which will all be
// passed to the method when it is evaluated.
Timer.prototype.setInterval = function(func, msec){
var i = Timer.getNew();
var t = Timer.buildCall(this.obj, i, arguments);
Timer.set[i].timer = window.setInterval(t,msec);
return i;
}
Timer.prototype.setTimeout = function(func, msec){
var i = Timer.getNew();
Timer.buildCall(this.obj, i, arguments);
Timer.set[i].timer = window.setTimeout("Timer.callOnce("+i+");",msec);
return i;
}
// The clear functions should be called with
// the return value from the equivalent set function.
Timer.prototype.clearInterval = function(i){
if(!Timer.set[i]) return;
window.clearInterval(Timer.set[i].timer);
Timer.set[i] = null;
}
Timer.prototype.clearTimeout = function(i){
if(!Timer.set[i]) return;
window.clearTimeout(Timer.set[i].timer);
Timer.set[i] = null;
}
// Private data
Timer.set = new Array();
Timer.buildCall = function(obj, i, args){
var t = "";
Timer.set[i] = new Array();
if(obj != window){
Timer.set[i].obj = obj;
t = "Timer.set["+i+"].obj.";
}
t += args[0]+"(";
if(args.length > 2){
Timer.set[i][0] = args[2];
t += "Timer.set["+i+"][0]";
for(var j=1; (j+2)<args.length; j++){
Timer.set[i][j] = args[j+2];
t += ", Timer.set["+i+"]["+j+"]";
}}
t += ");";
Timer.set[i].call = t;
return t;
}
Timer.callOnce = function(i){
if(!Timer.set[i]) return;
eval(Timer.set[i].call);
Timer.set[i] = null;
}
Timer.getNew = function(){
var i = 0;
while(Timer.set[i]) i++;
return i;
}
Here's an example of the code in action:
function Ticker(){
this.count = 0;
this.timer = new Timer(this);
}
Ticker.prototype.tick = function(d){
this.count+=d;
window.status = ""+this.count;
this.timer.setTimeout("tick", 1000, d);
}
window.onload = function(){
var ticker = new Ticker();
ticker.tick(1);
}
View 27 Replies
View Related
Jan 19, 2010
I have created a class array (or variable that contains an array) and am trying to add an element to the array when a new Element object is created. Thus, the line of code to add a new element to the array is within the Element object's constructor function. However, the browser just gives me an error "object expected on line 9", the line of code trying to add an element to the array.
Are arrays not functional within objects? Or, is it that the array is made as a class variable?
Code:
function Element() {
// INSTANCE VARIABLES
this.name = "newElement" + Element.total_elements_created; // GIVE UNIQUE NAME
// INITIALIZATIONS
Element.element_count ++; // INCREASE TOTAL NUMBER OF ELEMENTS EXISTING
[Code]...
View 4 Replies
View Related
Jun 22, 2011
Is there any way to call a method of a 'class' in without creating an instance of this class?
View 2 Replies
View Related