Mozilla And SetInterval
Jul 20, 2005Is some future Mozilla going to support setInterval ( <function:function>,
<interval:number> ) ?
Right now it seems to be simply setInterval ( <function-text:string>,
<interval:number> )
Is some future Mozilla going to support setInterval ( <function:function>,
<interval:number> ) ?
Right now it seems to be simply setInterval ( <function-text:string>,
<interval:number> )
I cant seem to get this to work.
I have this OO code and i want to get the setInterval to loop but when the setInterval is called, i get error saying that loop() is not define..
Code:
function setFunc(){
this.init = init;
function init(){
[Code]....
had this in browsers areas but people told me I should put it here in Javascript because more people here would probably have seen it before and know why it happens. I have basic Javascript that rotates images. I've noticed any kind of Javascript code that rotates images has this same problem only in Mozilla. When the images rotate in Mozilla in between the rotations, Mozilla browser adds a little colored square that represents a blank image that are able to be seen does anyone know why Mozilla Browser adds that? For example when looking at this page in Mozilla can see it. if you know if this is some Mozilla problem with Javascript and images. Doesn't happen with IE and other browsers shows the images only and nothing else.
View 2 Replies View RelatedI've a BIG Problem With a HUGE JS application , i'm modifying its javaScript code to work on both IE/Mozilla , currently it works fine on IE but not on Mozilla.
My main Point now is events.
Lets try with a little module, consider this function :
And it is attached in this place like :
This works fine in IE , i want to modify it to work on Mozilla.
If I have some code that's a bit like this
Con = function() {
this.op = 1;
this.count = 0;
}
Con.prototype.loop = function() {
this.doNext = setInterval(this.next, 100);
}
Con.prototype.next = function() {
this.count++;
if (this.count > 10) clearInterval(this.doNext);
}
obj = new Con();
when I call obj.loop(); 'this' in obj.next refers to setInterval
and not obj . I realise I can add var ref = this; and send it with
setInterval but is there something I can do to get 'this' to refer to
obj when in obj.next?
I'm attempting to create a small function that when called upon will change the CSS background property 10 times at 80 millisecond intervals. I'm pretty sure setInterval() is the way to go about this, but I've been toying with my script for an hour and can't get anything to work.
At each 80 millisecond interval, the CSS background property should change like so:
background: url("image.png") 0 0 no-repeat;
background: url("image.png") 0 20px no-repeat;
background: url("image.png") 0 40px no-repeat;
background: url("image.png") 0 60px no-repeat;
and so on.
I would normally just use the background-position property, but it seems the hyphen throws javascript for a slip. It's really not necessary for this function, but if there's a way to use hyphens, it would be good to know for future reference.
How would you use setInterval so that theres a delay each time javascript runs through a certain loop?
View 10 Replies View RelatedI want to use the setInterval function to animate a menu sliding down when the user clicks on a link. here's a snippet:
box.timer = window.setInterval(
function() {
box.heightCount++;
if(box.heightCount >= maxHeight) {
window.clearInterval(box.timer);
}
box.style.height = box.heightCount + 'px'
}, 1);
So this works ok in the sense that the animation is performed smoothly. But to my understanding it should expand the height of the box 1pixel every 1ms, so it should expand very quickly from the base height to the maxHeight limit, but I click on the link and it animates soooooo slooooowly -- smoothly, i mean, but it takes well over a minute to expand to the full height. I just need to speed the damn thing up! Also, if i change "box.heightCount++;" to "box.heightCount+=1;" it gets all messed up. What am I missing here?
i'm scratching my head over achieving similar results with setInterval() function, and how I can keep it from looping infinitely.
I want to do something like this:
var i = 0;
var endTime = now + ((1000*60)*2); // 2 minutes after now
while (now <=endTime) {
i = i + 1;
now = new Date().getTime();
}
document.write("total iterations: " + i);
however you can't do this because of lag issues, so i'll settle for using setinterval on its smallest interval of a millisecond, here is my attempt to translate the above to a setinterval solution:
var endTime = now + ((1000*60)*2); // 2 minutes after now
var intervalID = setInterval(loopFunc(endTime),1);
function loopFunc(endTime,intervalID) {
if (new Date().getTime() <= endTime) {
i = i + 1;
} else {
clearInterval(intervalID);
}}
as you can see I have prolbems figuring out how to stop the interval from continuing to iterate, and passing the interval id, I'm clueless Also I'm clueless on echoing the total iterations via this method.
I'm trying to build the framework for an AJAX back/forward button fixer. Basically it uses the hash fix for them (using text after the # to add history objects). To this effect, the function to check for updates has to be run every second or so. No problem, I'll just use setInterval for that.
For whatever reason, though, setInterval gives me an error. Specifically that oldLocation (global variable) is undefined (in the checkURL function). So I try setTimeout. Same thing. When I just call the function explicitly once (adding checkURL(); to the end of the script) everything works wonderfuly; it's just setting it up on a timer that messes up. Frankly, I've no idea why it's doing this. (The bug just seems so odd) Maybe a more advanced JS coder can shed some light on it.. Code:
how can i set an interval inside a class
exmpl.
var Class = (function() {
var interval = undefined;
function initInterval(instance) {
interval = setInterval("doSomething", 1000, instance);
}
function doSomething(instance) {
alert(instance.message);
}
function Constructor() {
this.message = "hello world";
}
Constructor.prototype.init = function() {
initInterval(this);
}
return Constructor;
})();
is not working correct. doSomething is not known. i think, setInterval
is not inside the class, so doSomething is private and unknown for the
interval.
I've developed a plugin for a simple slide show. and here is the code [URL] The problem is when I mouse over the pic, the console error logs: "slideSwitch is not defined" The same error would still happen if I define function slideSwitch(){} and call
setInterval("slideSwitch()", 1000);
Inside of $(document).ready(function () I have:
var refre****= setInterval(function(){
$('#mydiv').load("mypage.htm");
}, 9000);
This is working great in IE, it loads mypage.htm into mydiv every 9 seconds. If I change the contents of mypage.htm I can see it in mydiv after 9 seconds with IE, but not with Firefox.
With Firefox I can see the reloading symbol on top of the tab every 9 seconds, but I don't see the page changed.
I am new in web development. I think this problem is related to javascript, I have write script which will change images after 2sec, through setInterval function. Script is as follows.
<script>
var images = new Array ("img/1.jpg", "img/2.jpg", "img/3.jpg");
var currentIndex = 0;
function Start(){
setInterval("ChangeImage()", 2000);
}function ChangeImage(){
currentIndex++;
if(currentIndex == images.length){
currentIndex = 0;
}
document.images[0].src = images[currentIndex];
}
</script>
But when I place in img tag which is in third row div and reload page, these series of images show in first row div. It does not show where I have specified area for it in css.
First row div:
<div id="menu">
<img src="header/menu.png" name="menuImg"/>
</div>
My series of images show in this div when I load page.
3rd row div:
<div id="slideshow-img">
<img src="img/3.jpg" name="myimg" onclick="Start()"/>
</div>
I have checked there is no size issue in my images.
I just encountered a rather strange issue with setInterval() in Firefox. Take for example this code:
function test(){
setInterval("window.status+='x'", 1000)
}
test()
test()
So I call test() twice, which should mean the status bar gets appended 2x's every second. This is the case in IE6 and Opera, but in Firefox, it pauses every 2 seconds, and adds 4x's each time. Basically, Firefox seem to not update every second but every 2 seconds as a result. Anyone know what's going on?
function load(cv)
{
setInterval("checknew('cv')",1000);
}
checknew sends the number 1 or 0 depending on what load sends, and in turn, its just alternating 1/0 every second.
I am unsure how to send the number I get in load(cv) to checknew(cv) every 1 second on setInterval.
I have a script that I have tried running using both setTimeout and setInterval. It works fine in every browser except safari 3. It will run fine for a few loops and then stop.
View 2 Replies View Relatedfunction slide(thisOne) {
var theObject = document.getElementById(thisOne);
var measureTop = parseInt(retrieveComputedStyle(theObject, "top"));
if (measureTop == "0") {
theObject.animationTimer = setInterval("moveObject(theObject, 0, 200, 25)", 50);
} else {
theObject.animationTimer = setInterval("moveObject(theObject, 0, 0, 25)", 50);
}}
I am trying to use the variable "theObject" to pass a value to setInterval.
But I keep getting the error that "theObject" is not defined. But I have tested it with an "alert" just before the "if" statement and I know that not only is it defined, but it has the correct value.
Why won't setInterval recognise the variable? Is there a way to get this to work?
i have this code:
Code:
<script>
setInterval(function() {SwitchPic()}, 4000);
[code]....
I tried putting the method in setInterval in quotations, which runs continuously but it won't allow me to pass parameters so in turn it does nothing. The way I have it now passes parameters but doesn't run continuously.
$('#icon' + i).bind('click', function() {
var icon = this.id;
var iconID = setInterval(iconExpand(icon),5);
});
function iconExpand(obj) {
var mLeft = $('#' + obj).css('margin-left');
var mTop = $('#' + obj).css('margin-top');
[Code]....
I'm calling `setInterval(myfunc, 100);`.
That function receives one parameter which seems to be -3, 0, 3, 6 or 9.
This isn't a problem, but I'm wondering what it is. Does someone know?
Mozilla/5.0 (Windows; U; Windows NT 5.1; nl; rv:1.8.1.1) Gecko/20061204
Firefox/2.0.0.1
I tried to use setInterval like this but it did not work:
setInterval ( removeitem (theitem)
{
theitem.style.display= "none";
},
1000 );
the function without the setInterval is
function removeitem(theitem)
{
theitem.style.display="none";
}
In the code below there is a set interval. The interval works perfect. There also is a clearInterval, this one works aswell. When I click on the button with the ID sluitinfonew the interval should be set again, this also works. But offcourse the clearInterval doesn't work anymore because the var is within the function(i'm not sure). Is there a better way to do this? I can't get it to work.[code]
View 1 Replies View RelatedHere is my problem broken down:I have some animation inside a function like this:
function doAnimation() {
$('div.nav').animate({left: 15}, 200, 'swing')
$('div.nav').animate({left: 10}, 200, 'swing')
[code]....
I was trying to use a jQuery timer to repeat a function at intervals, but it didn't work in IE. Then I read that IE doesn't support setInterval, which seems amazing. Did I read this right? And if so, what do I use in jQuery to keep repeating a function at intervals? I've tried a few things and they all bomb out in IE, just doing something once, although they work in FF. What works in the execrable IE and real browsers?
View 1 Replies View RelatedI'm new to Javascript, and having an issue with getInterval. For my programming languages class we have to create a simulation of waves breaking on a shore from above. I've decided to use a canvas object and Javascript for this animation, but am getting stuck on refreshing the frames.
Here is the code I have so far:
var shoreline = new Array();
var waves = new Array();
var canWidth = 600;
var canHeight = 400;
var waveNum = 0;
var count = 0; .....
As you can see, the idea is that each 5-pixel wide node of the shore and wave are stored in arrays so that the position of each node can differ. The wave() function initializes all the required data, and then calls setInterval on update(). The function update() draws the water, shore, and wave, and then updates the wave position node-by-node. Ideally, setInterval would cause this to happen repeatedly, so that the wave would appear to move closer to the shore every 1000ms.
However, this is not the case. It appears as though setInterval is working for one pass of update(), but fails after the first pass. You can tell that this is happening because the wave appears at its starting position, but does not continue to move. I read somewhere that setInterval can be broken by one-time functions, but I'm not sure. If you'd like to see what it's currently doing in a browser, I've hosted it here [URL]. Once I've got this animating properly I can continue my project, but I've hit a roadblock.